我有這樣的代碼,我從一些教程 - 有:如何創建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