在列表中对文件的单词进行排序

Tan*_*med 1 python sorting list

我正在尝试按字母顺序对文本文件的所有单词进行排序。这是我的代码:

filename=input('Write the name of the file :')
fh=open(filename)
wlist=list()
for line in fh:
    line=line.rstrip()
    ls=line.split()
    for w in ls:
        if w not in wlist:
        wlist.append(w)            
print(wlist)
Run Code Online (Sandbox Code Playgroud)

输出没问题,但每当我尝试时,print(wlist.sort())它都会给出“无”作为输出,而不是对 wlist 进行排序。我的代码有什么问题?

提前致谢。

tza*_*man 6

list.sort就地对列表进行排序并返回None.
如果要打印排序列表,请稍后执行:

wlist.sort()
print(wlist)
Run Code Online (Sandbox Code Playgroud)

另外,不是每次都检查列表中的重复项,而是set将单词a 更有效,然后使用sorted()以下命令对其进行排序:

words = set()
for line in file:
    for word in line.split():
        words.add(word)

print(sorted(words))
Run Code Online (Sandbox Code Playgroud)