[英]Unhashable type list python
當我運行程序(字母解算器)時,出現錯誤Unhashable type:list,多數民眾贊成在我將wordList轉換為元組時,但仍然收到錯誤。
word.txt包含一堆單詞,例如word.txt
abruptly
abruptness
abs
abscam
這是代碼:
def main():
lenWord = 4
wordList = readMatrix()
lengthWord(lenWord)
def readMatrix():
wordList = []
strFile = open("words.txt", "r")
lines = strFile.readlines()
for line in lines:
word = line.rstrip().lower()
wordList.append(word)
return tuple(wordList)
def lengthWord(lenWord):
wordList = readMatrix()
for word in wordList:
if len(word) == lenWord:
sortWord = sorted(word)
setWord = set(word)
sortDict = ({sortWord : setWord})
return sortDict
main()
您可以將列表重新轉換為字符串( str
)
sortWord = ''.join(sorted(word))
其他合適的選擇可以是tuple
或frozenset
下一行雖然是一個錯誤-只是字母集
setWord = set(word)
您需要將值設為包含實際單詞的集合。
例如。
sortWord = ''.join(sorted(word))
if sortWord not in sortDict:
sortDict[sortWord] = set()
sortDict[sortWord].add(setWord)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.