尝试为多个列表添加相同索引的元素

时间:2012-11-23 01:40:04

标签: python list

我试图创建一个具有参数的函数,该参数是一个4元素列表的列表,表示人们批准的团队。 内部(4个元素)列表的顺序是['team1','team2','team3','team4']

对于其他三个人,至少有一个人会为'NO'投票'是'。每个'是'可以进行一次投票。

输出是一个列表,每个团队的总金额为“是”,与原始订单的顺序相同。

一个例子是:

选举([['是','不','不','不'],['不','不','不','是'],['是','否' , 'NO', 'NO']])

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

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

非常感谢帮助。

2 个答案:

答案 0 :(得分: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)]

答案 1 :(得分:0)

Python没有像大多数语言一样的for循环,这对于这种语言的新用户来说可能有点混乱。在这种情况下(您希望从零到任意长度计数),您可以使用range函数:

for i in range(4):
    ...

这与(大致)相同:

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

使用此功能并尝试制定代码,如果您有更多问题显示您目前已尝试过的内容,我们可能会为您提供更多帮助。

P.S。对于更高级的方式来做你想做的事情,我建议你看一下sumzip内置插件,以及list comprehensions的概念。那些可以将你的任务减少到单行......