3 回答

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊
line.split() 為您提供一個(gè)列表,該列表將作為列表對(duì)象添加到您的 lst 列表中。因此,而不是使用 lst.append(line) 使用 lst.extend(line) 來(lái)獲得正確的輸出。

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊
我了解您要實(shí)現(xiàn)的目標(biāo)。這里有一個(gè)更簡(jiǎn)單的方法,而不是你寫的方式:
import re
ls=set(re.findall(r"[\w']+", text)) #text is the input
print(sorted(ls))
測(cè)試它以確保它有效:
編輯:
我稍微修改了您的代碼以滿足您的用例。
fh = open(raw_input("Enter file name: "),'r')
lst = list()
for line in fh:
words = line[:-1].split(" ")
for word in words:
if word not in lst:
lst.append(word)
print(sorted(lst))
輸出:
Enter file name: file.txt
['Arise', 'But', 'It', 'Juliet', 'Who', 'already', 'and', 'breaks', 'east', 'envious', 'fair', 'grie', 'is', 'kill', 'light', 'moon', 'pale', 'sick', 'soft', 'sun', 'the', 'through', 'what', 'window', 'with', 'yonder']
希望能解決您的問(wèn)題。

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊
output = []
with open('file_name') as f:
for i in f.readlines():
for j in words_to_split:
i = ''.join(i.split(j))
output.append(i)
添加回答
舉報(bào)