from collections import defaultdict
from operator import itemgetter
from itertools import chain
my_list = [['red', 'yellow', 'green'], ['red', 'yellow', 'green'], ['red', 'green', 'red']]
d = defaultdict(int)
for word in chain.from_iterable(my_list):
d[word] += 1
print(max(d.items(), key = itemgetter(1))[0])
# red
my_list = [ ['red', 'yellow', 'green'], ['red', 'yellow', 'green'], ['red', 'green', 'red']]
new_list = [i for x in my_list for i in x]
max_val = max(new_list, key=lambda x:new_list.count(x))
my_list = [ ['red', 'yellow', 'green'], ['red', 'yellow', 'green'], ['red', 'green', 'red']]
new_list = [k for v in my_list for k in v]
from collections import Counter
c = Counter(new_list)
print c.most_common(1)
>>> [('red', 4)]
您可以使用
itertools.chain.from_iterable
来展开列表,然后使用collections.defaultdict
来存储计数,从那里获得max键很容易:您可以展开嵌套列表并应用
max
函数:输出:
^{pr2}$相关问题 更多 >
编程相关推荐