在我的代码中,我不知道为什么它是错的我尝试过多种不同的方式,但它们不起作用。我希望它打印出来:
['Arise', 'But', 'It', 'Juliet', 'Who', 'already', 'and', 'breaks', 'east', 'envious', 'fair', 'grief', 'is', 'kill', 'light', 'moon', 'pale', 'sick', 'soft', 'sun', 'the', 'through', 'what', 'window', 'with', 'yonder']
romeo.txt是文本文档名称 这是什么内部:
“但是通过那个窗户打破的光是柔和的东西 朱丽叶是太阳升起公平的太阳,杀死羡慕的月亮是谁 已经病了,脸色苍白悲伤“
输出也按字母顺序排列。
fname = "romeo.txt"#raw_input("Enter file name: ")
fh = open(fname)
lst = list()
for line in fh:
lst.append(line)
words = lst.split(line)
# line = line.sort()
print lst
答案 0 :(得分:1)
fname = "romeo.txt"
fh = open(fname)
lst = []
for line in fh:
words = lst.split(line) # this comes first
lst.extend(words) # add all the words to the current list
lst = sorted(lst) # sorts lexicographically
print lst
代码中的注释。基本上,拆分您的线并将其累积在您的列表中。排序应该在最后完成一次。
(稍微)更多的pythonic解决方案:
import re
lst = sorted(re.split('[\s]+', open("romeo.txt").read(), flags=re.M))
正则表达式会根据正则表达式(分隔符作为空格)将文本拆分为单词列表。其他一切基本上都是多行压缩成1。