Python 不可破坏的类型列表

Python 不可破坏的类型列表,python,Python,当我运行我的程序(字谜解算器)时,我得到了错误未损坏类型:list,也就是当我将wordList转换为元组时,我仍然得到了错误 txt包含一堆这样的单词 word.txt 以下是代码: def main(): lenWord = 4 wordList = readMatrix() lengthWord(lenWord) def readMatrix(): wordList = [] strFile = open("words.txt", "r")

当我运行我的程序(字谜解算器)时,我得到了错误未损坏类型:list,也就是当我将wordList转换为元组时,我仍然得到了错误

txt包含一堆这样的单词 word.txt

以下是代码:

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

其他合适的选择可以是
tuple
frozenset

下一行是一个bug,它只是一组字母

setWord = set(word)
您需要将该值设置为包含实际单词的集合

例如

python中的内置函数将返回列表

你的代码行

sortWord = sorted(word)
将给您
sortWord
作为列表。您必须将其转换为python对象。

@solofisher,
set('hello world')
提供
set(['''e','d','h','l','o','r','w'])
。你需要一组单词,例如
set(['world','hello'])
setWord = set(word)
sortWord = ''.join(sorted(word))
if sortWord not in sortDict:
    sortDict[sortWord] = set()
sortDict[sortWord].add(setWord)
sortWord = sorted(word)