麻烦词典

时间:2016-03-09 00:31:52

标签: python dictionary

此功能的想法是将文件作为输入。这个文件包含政治家和他们各自的政党。独立是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'
});

2 个答案:

答案 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")