改变输出[重复]

2024-02-09

可能的重复:
稍微改变一下输出 https://stackoverflow.com/questions/13638807/changing-the-output-a-bit

问题是:

voting_borda:

(str 列表的列表) -> (str, int 列表) 的元组

该参数是一个 4 元素列表的列表,表示单个选区的排名选票。

博尔达计数是根据排名分配分数来确定的。每个第一选择排名获得3分,第二选择排名每个获得2分,第三选择排名每个获得1分。 (排名第四不会获得分数。)例如,上面显示的排名投票将为自由党计票贡献 3 分,为绿党计票贡献 2 分,为 CPC 计票贡献 1 分。获得最多分数的政党赢得席位。

返回一个元组,其中第一个元素是根据博尔达计数获胜一方的名称,第二个元素是一个四元素列表,其中包含每方的总点数。列表元素的顺序对应于 PARTY_INDICES 中各方的顺序。

这是我的代码:

def voting_borda(*args):
results = {}
for sublist in args:
    for i in range(0, 3):
        if sublist[i] in results:
            results[sublist[i]] += 3-i
        else:
            results[sublist[i]] = 3-i

winner = max(results, key=results.get)
return winner, results

但是,如果我尝试

voting_borda(['GREEN','NDP', 'LIBERAL', 'CPC'],['GREEN','CPC','LIBERAL','NDP'],['LIBERAL','NDP', 'CPC', 'GREEN'])

I get,

('GREEN', {'NDP': 4, 'CPC': 3, 'GREEN': 6, 'LIBERAL': 5})

但是,我希望第一个参数成为获胜者(该部分很好),第二个参数只是值,并且也按照 PARTY_INDICES 的顺序,即PARTY_INDICES = [NDP_INDEX, GREEN_INDEX, LIBERAL_INDEX, CPC_INDEX].

有什么解决方案或方法可以让我做得更好吗?


PARTY_INDICES = ['NDP_INDEX', 'GREEN_INDEX', 'LIBERAL_INDEX', 'CPC_INDEX']
party_dic = {}

for i, item in enumerate(PARTY_INDICES):
    party_dic[item.split('_')[0]] = i

print party_dic

def voting_borda(*args):
    results = {}
    for sublist in args:
        for i in range(0, 3):
            if sublist[i] in results:
                results[sublist[i]] += 3-i
            else:
                results[sublist[i]] = 3-i

    winner = max(results, key=results.get)
    results = [v for k, v in sorted(results.items(), key = lambda x: party_dic[x[0]])]
    return winner, results


print voting_borda(['GREEN','NDP', 'LIBERAL', 'CPC'],['GREEN','CPC','LIBERAL','NDP'],['LIBERAL','NDP', 'CPC', 'GREEN'])


{'NDP': 0, 'CPC': 3, 'GREEN': 1, 'LIBERAL': 2}
('GREEN', [4, 6, 5, 3])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

改变输出[重复] 的相关文章

随机推荐

  • Java 硬件中断处理

    我想知道当硬件中断发生时是否可以自动调用Java方法 可能还有其他选择 我正在做类似的事情 在一个应用程序中 我监视 4 只鼠标的点击情况 这些点击会产生中断 但我很高兴不直接从 Java 处理它们 在Linux下 原来有设备文件 dev
  • 检查角度 2 中是否存在路线

    我想检查角度项目中是否存在路线 例如用户类型http localhost 4200 timestamp在网址栏中和timestamp项目中不存在 如何在不重定向的情况下进行检查 Sajeetharan 的回答涉及router config是
  • 如果命令在 mac 终端内运行,如何让 shell_exec 表现得像命令一样?

    当我在 php 脚本中运行命令时 echo shell exec which php 我得到以下输出 usr bin php 但是 当在 mac 终端中运行相同的命令时 which php 我得到以下输出 php aliased to Ap
  • Django 管理命令导入错误

    我在导入模块时遇到问题qsl management commands
  • SQL Server 中符号 @@ 的含义

    符号的含义是什么 在 SQL Server 中 在 SQL Server 中 符号 是全局变量的前缀 服务器维护所有全局变量 我们不能宣布它们
  • 了解模板方法模式

    据我了解 模板方法只不过是调用子类中定义的虚拟或抽象方法的普通方法 我是对的吗 还是我错过了关于这种模式的其他重要内容 abstract class Foo public void IamTemplateMethod which will
  • 将大型网站从 MySQL 切换到 MySQLi [重复]

    这个问题在这里已经有答案了 我想从 MySQL 切换到 MySQLi 但我有一个非常大的网站 我读到了https wikis oracle com display mysql Converting to MySQLi https wikis
  • 使用 std::map/boost::unordered_map 帮助理解段错误

    我有一些代码使用模板静态类来处理资源 图像 字体 网格数据等 管理 允许客户端代码执行以下操作 ResourceManager
  • Angular:在 [innerHtml] 内绑定变量

    我正在尝试使用 innerHtml 在 div 内绑定数据 如何通知 Angular 使用变量而不是原始文本 这是我的设置 div div div div div div 数据如下 someOtherData id 1 template d
  • 在 Java 字符串中添加新行

    我希望我的输出是多行但是 n似乎不适合我 难道我做错了什么 谢谢 期望的输出 你好 姓名 重量 公斤 XX 高度 米 XX BMI XX CODE SimpleOutput showInformation Hello name n Weig
  • 当 POCO 具有 IsReference = true 属性时序列化 EF 代理

    当实体框架代理的类被装饰时 如何序列化实体框架代码优先代理DataContractAttribute IsReference true 当将 DataContractSerializer 与 ProxyContractResolver 一起
  • 无法使用 Nodemailer 连接到 Outlook.com SMTP

    我正在像这样创建传输对象 var transport nodemailer createTransport SMTP host smtp mail outlook com hostname secureConnection false us
  • wso2 API 管理器 |如何将客户端证书关联到后端/目标端点

    我们有一个 api 后端 在访问 api 时需要提供客户端证书 我们已将客户端证书以及所有根 CA 和中间证书添加到repository resources security client truststore jks 重新启动服务器 我相
  • JGraphX 中的无向图

    我尝试在 JGraphx 中显示图表 只要我使用有向图 一切都很好 但是当我尝试显示一个无向的时 它显示了 有方向 代码来自jgrapht的demo package org jgrapht demo import com mxgraph l
  • 如果失败,如何强制 ansible 重试“apt”任务?

    我有一个ansible在许多机器上运行的剧本 在该剧本中 我尝试使用一些软件包来安装apt 但偶尔会失败 要么是因为其他剧本正在运行 定期更新或任何其他apt实例并行运行并获取锁 我基本上想在放弃之前添加一个重试循环 但未能这样做 因为不支
  • 在哪里可以找到 iText xml 参考?

    我正在评估使用RazorPDF http www nyveldt com blog post Introducing RazorPDF作为我们的报告解决方案 由于某种原因 我找不到任何 iText XML 参考 除了few http std
  • 消息:为 CodeIgniter 中的 foreach 提供的参数无效

    我在 Codeigniter 应用程序中遇到了一些问题 创建了一个类似的函数 function searchUnivtab country this gt input gt post countryKey state this gt inp
  • GCM 令牌刷新以及何时将令牌发送到服务器

    我正在关注一个GCM Android https github com googlesamples google services blob master android gcm app src main java gcm play and
  • angular2:错误:TypeError:无法读取未定义的属性“...”

    我已经附上了我的 angular2 代码片段的 plunker 我想从 JSON 打印一个字段 但无法打印该字段 因为最初我的对象为空 并且它是通过 Promise 填充的 这是我的组件文件 import Component NgModul
  • 改变输出[重复]

    这个问题在这里已经有答案了 可能的重复 稍微改变一下输出 https stackoverflow com questions 13638807 changing the output a bit 问题是 voting borda str 列