2013-03-31 7 views
0

Я работаю над функцией, где мне нужно вернуть кортеж, где первым параметром является str наибольшего числа, а второй параметр - это список int. Вот пример, и то, что я написал для функции:Попытка исправить мою функцию

голосования ([ 'G', 'G', 'N', 'G', 'C']) ('G' [1, 3, 0, 1]) ""»

+0

Связано с http://stackoverflow.com/questions/15733220/python-list-voteg-g-n-g-c? – YXD

ответ

1

Вы должны отобразить положение MAXVALUE на правильную сторону:

parties = ['NDP', 'Green', 'Liberal', 'CPC'] 
winning_party = parties[total.index(max(total))] 
+0

большое спасибо! Это работает. –

0

Попробуйте использовать Counter, чтобы подсчитать, сколько голосов получил каждый элемент. Например:

from collections import Counter 
... 
vote_count = Counter(votes_list) 
int_list = vote_count.values() # value is [1, 3, 1] 
winners = vote_count.most_common() # value is [('G', 3), ('C', 1), ('N', 1)] 

Как вы можете видеть, Counter имеет интерфейс и дать вам подсчет голосов для каждого элемента, и дать вам все элементы в порядке убывания голосов.

Смежные вопросы