此功能的想法是将文件作为输入。这个文件包含政治家和他们各自的政党。独立是1,共和党是2,民主党是3,不知道是4.必须返回的是每一方代表的次数。
该文件有独立的6,共和党16,民主党22,而且不知道6。 输出应该是这样的。
独立6
共和党人16
民主党人22不知道6
但我拥有的是
4 6
3 22
2 16
1 6
我不知道如何更改代表当事人姓名的人数。
Ember.LinkComponent.reopen({
activeClass: 'active is-active'
});
答案 0 :(得分:0)
您还没有提供有关文件外观的大量信息;话虽如此,有了给出的有限信息,如果我正确理解你的代码,你需要做的是定义一个带有聚会名称及其各自编号的字典,然后编辑你的打印语句以打印相应于{{1而不是i
本身:
i
答案 1 :(得分:0)
您忘记关闭open()
,这是使用with
阻止的众多原因之一。无论如何,我假设这是输入文件的样式:
克林顿3 克鲁兹2
桑德斯3 特朗普2
Dutter 1
您希望输出为:
共和党人2 民主2 独立1
如果这不正确,则应更改此功能以完全符合您的要求。
from collections import defaultdict
def getCandidates(infile):
parties = {1: "Independent", 2: "Republican", 3: "Democratic", 4: "Unknown"}
candidates = defaultdict(int)
with open(infile, "r") as fin:
for line in fin: # assuming only 2 columns and the last column is the number
candidates[parties[int(line.split()[-1])]] += 1
for party, count in candidates.items(): #.iteritems() in python 2.7
print("{} {}".format(party, count))
getCandidates("test.txt")