我有这样的代码,我从一些教程 - 有:如何创建2克带状疱疹?
list1 = [['hello','there','you','too'],['hello','there','you','too','there'],['there','you','hello']]
def get_shingle(size,f):
#shingles = set()
for i in range (0,len(f)-2+1):
yield f[i:i+2]
#shingles1 = set(get_shingle(list1[0],2))
#shingles2 = set(get_shingle(list1[1],2))
shingles1 = set(get_shingle(2,list1[0]))
shingles2 = set(get_shingle(2,list1[1]))
print shingles1
print shingles2
print "done"
当我尝试运行此代码我得到一个错误 - :
Traceback (most recent call last):
File "E:\Research\Shingle Method\create_shingle.py", line 10, in <module>
shingles1 = set(get_shingle(2,list1[0]))
TypeError: unhashable type: 'list'
如果设置列表1,则错误呢不来。但我不能将list1转换为设置为它删除重复的单词并且我还需要它是我的主要代码的列表,它以列表的形式处理一个巨大的文本文件。 为什么我得到这个'不可干扰列表'?我们不能将列表作为参数吗?
谢谢你解释得这么好:)它的工作 –
很高兴听到这个消息。 ;) – DJanssens