【发布时间】:2017-03-28 22:54:52
【问题描述】:
我有一个清单:
a = [(['7', '8'], ['4', '7'],['3', '4'],['3', '8'],['4', '8'],...............['3','4'])]
我想创建 2 列来给出列表中元组的频率。例如:
bigram frequency
['7','8'] 2
['4','7'] 3
['3', '4'] 6
等等。
另外,考虑像 ['7','8'] 和 ['8','7'] 这样的条目相同(重复)。列中应该只有一个条目,并且应该添加频率。
我正在尝试使用
from collections import counter
并对其进行一些循环,但我收到以下错误:
不可散列的类型:列表
【问题讨论】:
-
尝试:
Counter(tuple(i) for i in a[0]),因为您有一个包含第一个元素元组的列表,其中存在需要转换为元组的列表 -
@Mr.A 是的,工作正常,谢谢,你能看看我对这个问题所做的编辑
-
@Mr.A 认为 ['7','8'] 和 ['8','7'] 等条目相同(重复)。并且只有一个条目应该在列中,并且应该添加频率。
标签: python python-3.x