AttributeError:'dict'对象在第9行没有属性'append'吗?

时间:2020-07-18 05:25:32

标签: list split append

Q.)8.4打开romeo.txt文件并逐行读取。对于每一行,使用split()方法将该行拆分为单词列表。该程序应建立单词列表。对于每一行中的每个单词,请检查该单词是否已在列表中,如果没有,则将其附加到列表中。程序完成后,按字母顺序对结果单词进行排序和打印。 这段代码给出了AttributeError:'dict'对象在第9行没有属性'append'

    fname = input("Enter file name: ")
        fh = open(fname)
        lst = {}
        for line in fh:
            line = line.rstrip()
            words = line.split()
            for word in words:
                if word not in lst:
                    lst.append(word)
        print(sorted(lst))

1 个答案:

答案 0 :(得分:1)

Python字典没有append方法。

Append在Python的列表(数组)中使用。将lst设为列表,而不是字典。我在下面的代码中做了微小的更改,

lst = {}   #creation of an empty dictionary 

lst = []    #creation of an empty list

完整代码:

fname = input("Enter file name: ")
        fh = open(fname)
        lst = []
        for line in fh:
            line = line.rstrip()
            words = line.split()
            for word in words:
                if word not in lst:
                    lst.append(word)
        print(sorted(lst))