当我运行我的程序(anagram solver)时,我得到error unhable type:list。我该怎么说?我不能做set([word]),因为那样也会产生同样的错误。你知道吗
那个word.txt文件包含一行新词。你知道吗
代码如下:
def main():
wordList = readMatrix()
print(lengthWord())
def readMatrix():
wordList = []
strFile = open("words.txt", "r")
lines = strFile.readlines()
for line in lines:
word = sorted(line.rstrip().lower())
wordList.append(word)
return tuple(wordList)
def lengthWord():
lenWord = 7
sortDict = {}
wordList = readMatrix()
for word in wordList:
if len(word) == lenWord:
sortWord = ''.join(sorted(word))
setWord = set([word])
if sortWord not in sortDict:
sortDict[sortWord] = set()
sortDict[sortWord].add(setWord)
return sortDict
main()
您希望从规范化的表单(排序的单词)映射到实际标记的列表。你知道吗
使用tuple而不是列表:
另一种可能性是,如果希望在集合中包含一个集合,可以使用^{} :
The documentation解释:
从tuple和frozenset文档中可以看出,它们是不可变的类型。你知道吗
似乎要将排序的单词映射到它们的原始单词集:
所以不需要
setWord
;只要做:相关问题 更多 >
编程相关推荐