【发布时间】:2018-02-22 11:58:43
【问题描述】:
我正在尝试获取列表中每个列表的频率。 以下是我的代码
from collections import Counter
my_list=[[1,2,3],[1,2,3]]
ctr=[]
ctr = Counter(my_list)
print(ctr[[1,2,3]])
此代码适用于数字列表,即如果 my_list=[1,2,3]。但是对于列表列表它不起作用。
ctr[[1,2,3]] 应该打印 2 但有如下错误
TypeError: unhashable type: 'list'
有人可以帮忙吗?
【问题讨论】:
-
错误信息有什么不清楚的地方?
Counter创建一个字典,你不能有一个带有list类型键的字典。所以它失败了。 -
当你调用两个列表相同时,你是指它们的元素的顺序还是只是元素的顺序
-
重要的是它们元素的顺序
标签: python