0

我试图创建一个函数,它的参数是一个 4 元素列表的列表,代表团队成员批准的列表。内部(4-element)列表的顺序是 ['team1', 'team2', 'team3', 'team4']

人们会为至少一个团队投票“是”,而为其他三个团队投票“否”。每个“是”都计为一票。

输出是一个列表,其中每个团队的总数量为“是”,顺序与原始顺序相同。

一个例子是:

选举([['YES', 'NO', 'NO', 'NO'],['NO', 'NO', 'NO', 'YES'], ['YES', 'NO','NO ','不']])

这将返回 ([2,0,0,1])

你能帮我吗..我是 python 新手,我只是让每个人的投票数像 [1,0,0,0] 但我无法添加每个列表来制作一个列表。

将不胜感激。

4

2 回答 2

1
vote1 = ['YES', 'NO', 'NO', 'NO']
vote2 = ['NO', 'NO', 'NO', 'YES']
vote3 = ['YES', 'NO','NO','NO']

votelist = [vote1, vote2, vote3]

def electing(votelist):
    return [votes.count("YES") for votes in zip(*votelist)]
于 2012-11-23T01:54:40.810 回答
0

Python 不像大多数语言那样有for循环,这可能会让该语言的新用户感到困惑。在这种情况下(您想从零计数到任意长度),您可以使用该range函数:

for i in range(4):
    ...

这(大致)与以下内容相同:

for i in [0,1,2,3]:
    ...

使用它并尝试制定您的代码,如果您有更多问题,请展示您迄今为止所做的尝试,我们可能会为您提供更多帮助。

PS对于做你想做的更高级的方式,我建议查看sumzip内置,以及列表理解的概念。这些可以将您的任务减少到单行...

于 2012-11-23T01:58:01.183 回答