【发布时间】:2014-08-22 07:23:17
【问题描述】:
所以我有这个凌乱的代码,我想从 frankenstein.txt 中获取每个单词,按字母顺序排序,删除一个和两个字母单词,然后将它们写入一个新文件。
def Dictionary():
d = []
count = 0
bad_char = '~!@#$%^&*()_+{}|:"<>?\`1234567890-=[]\;\',./ '
replace = ' '*len(bad_char)
table = str.maketrans(bad_char, replace)
infile = open('frankenstein.txt', 'r')
for line in infile:
line = line.translate(table)
for word in line.split():
if len(word) > 2:
d.append(word)
count += 1
infile.close()
file = open('dictionary.txt', 'w')
file.write(str(set(d)))
file.close()
Dictionary()
如何简化它并使其更具可读性,以及如何使单词垂直写入新文件(它写入水平列表):
abbey
abhorred
about
etc....
【问题讨论】:
标签: python-3.x split simplify