首页 > 解决方案 > 高级列表理解:如何在一个列表理解中容纳多个 for 循环?

问题描述

我一直在尝试将文本文件中的以下单词列表放入一个列表理解中:

file = open("Lincoln.txt", "r").read().split()

world_list = []                                            

for v in file:
    word_list.append(v.translate(str.maketrans("", "",string.punctuation)).lower())
    for i in word_list:
         if i != '':
            world_list.append(i)

这是成功的,但我不确定如何在同一个列表理解中包含 for 循环的第二部分:

word_list = [v.translate(str.maketrans("", "",string.punctuation)).lower() for i,v in enumerate(word_list)]

如果没有第二部分,我仍然会从单词提取中得到空字符串:

点击查看我的输出

标签: python

解决方案


已编辑

[i for i in (v.translate(str.maketrans("", "",string.punctuation)).lower() for v in word_list) if i != '']

推荐阅读