【发布时间】:2019-06-26 14:33:08
【问题描述】:
这是我编写程序所需的问题:
编写一个程序来打开文件 romeo.txt 并逐行读取。对于每一行,使用 split 函数将该行拆分为单词列表。 对于每个单词,检查该单词是否已经在列表中。如果单词不在列表中,请将其添加到列表中。程序完成后,按字母顺序排序并打印结果单词 顺序。
文本文件包括以下几行:
但是柔和的光线从那边的窗户打破 它是东方,朱丽叶是太阳 升起美丽的太阳,杀死嫉妒的月亮 谁已经病入膏肓,悲痛欲绝
我试图理解为什么当我使用此代码时 Python 返回“MemoryError”:
fhand=open("romeo.txt")
binlist=["a"]
for myline in fhand:
myline=myline.rstrip()
mylist=myline.split()
for word in mylist:
for binword in binlist:
if word==binword:
continue
else:
binlist.append(word)
binlist.sort()
print(binlist)
但是,这段代码运行良好:
fhand=open("romeo.txt")
binlist=[]
for myline in fhand:
myline=myline.rstrip()
mylist=myline.split()
for word in mylist:
if word in binlist:
continue
else:
binlist.append(word)
binlist.sort()
print(binlist)
【问题讨论】:
标签: python list loops search memory