【发布时间】:2012-11-12 19:28:28
【问题描述】:
我明白了
a = max(set(lst), key=lst.count)
将导出列表中最常见的元素
但是如何在不使用辅助函数的情况下导出列表列表中最常见的元素?
例如
lst = [['1','2','3','4'],['1','1','1','1'],['1','2','3','4']]
输出应该等于1。
当我尝试a = max(set(lst), key=lst.count)
它写builtins.TypeError: unhashable type: 'list'
谁能帮帮我?
【问题讨论】:
-
您对
[['1', '2', '3', '4'], ['1', '1', '2', '2'], ['2', '2', '3', '4']]的预期输出是什么? -
“辅助功能”是什么意思?您的定义似乎包括
Counter,但不包括max和set。与使用标准库相比,您最好考虑避免 O(N^2) 行为(例如在您的max(set(lst), key=list.count)中)。
标签: python list python-3.x count python-2.7