我正在尝试编写一个函数,该函数接受一个参数,该参数是 4 元素列表的列表,代表单次骑行的批准选票;内部列表元素的顺序对应于称为 的当事方列表中当事方的顺序PARTY_INDICES
。
“赞成”票数最多的一方获胜。
它应该返回一个 2 元组,其中第一个元素是获胜方的名称,第二个元素是一个四元素列表,其中包含每一方的赞成票数。列表元素的顺序对应于 中各方的顺序PARTY_INDICES
。
我的代码是:
def voting_approval(approval):
parties = ['NDP','GREEN','LIBERAL','CPC']
values = [0,0,0,0]
for decision in approval:
for no, item in enumerate(decision):
if item == 'Yes':
values[no] += 1
total = [(values) for x in zip(approval)]
return (parties[values.index(max(values))], total)
如果我尝试:
voting_approval([['Yes', 'No', 'Yes', 'No'],['No', 'No', 'Yes', 'No']])
它吐出:
('LIBERAL', [[1, 0, 2, 0], [1, 0, 2, 0]])
但我希望结果是:
('LIBERAL', [1, 0, 2, 0])