使用Python三元条件运算符执行多个操作



这个简单的程序从一个文本文件中读取一个单词列表,并将一个子列表写入另一个文件,子列表的"总单词"计数为:

wordList = readFile.read().split(', ')
totalWords = 0
for word in wordList:
if ('e' in word):
writeFile.write(word + 'n')
totalWords += 1
writeFile.write("Total words: " + str(totalWords))
readFile.close()
writeFile.close()

使用Python的三元条件:

for word in wordList:
writeFile.write(word + 'n') if ('e' in word) else 'false'

我想知道是否有一种方法可以在单个三元条件中执行写操作并增加totalWords。我还想知道,与使用"false"或"None"相比,有没有更合适的方法来处理else条件,因为我们只是跳过了一个不符合条件的单词?提前谢谢。

您不能真正使用单个三元语句(一行(执行写操作和递增totalWords。您已经正确地实现了代码,无需修改代码

如果你想增强代码,你可以使用with复合语句如下,

with open('read_filename', 'r') as readFile, open('write_filename', 'w') as writeFile:
wordList = readFile.read().split(', ')
totalWords = 0
for word in wordList:
if ('e' in word):
writeFile.write(word + 'n')
totalWords += 1
writeFile.write("Total words: " + str(totalWords))

最新更新