【发布时间】:2018-11-23 18:57:58
【问题描述】:
我正在尝试按单词的长度(在 4 到 8 个字符之间)逐行过滤包含单词的列表。这样如果输入文件有:
- 你好
- 通讯
- 是
- 狗
- 测试
输出文件是:
- 你好
- 测试
所以我有这个代码:
dir = "lower.lst"
dict = open(dir, 'r').readlines()
f=open('dictionary','w')
for word in dict:
if len(word)>=4 & len(word)<=8:
f.write(word)
f.close()
print(len(dict))
print(f)
但是输出文件保留了所有的单词。 顺便问一下,有没有更有效的方法来做到这一点?
【问题讨论】:
-
&是 C-ism(或 Java,或 JavaScript)。 Python 使用and。 -
不要使用
dict作为变量名。