python - 高级列表理解:如何在一个列表理解中容纳多个 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)]
如果没有第二部分,我仍然会从单词提取中得到空字符串:
解决方案
已编辑
[i for i in (v.translate(str.maketrans("", "",string.punctuation)).lower() for v in word_list) if i != '']
推荐阅读
- javascript - 将数组呈现为 HTML 的最有效方法
- java - 使用 AES/CBC/PKCS7 时 Cipher.doFinal 修剪数据大小
- dynamic - 相同的输入不同的测试用例不同的答案
- android - Android:当我保存在存储中时,imgView.getDrawingCache() 会裁剪位图
- python - 使用 (?=$) 前瞻匹配所需的结果
- javascript - promise.all 与 forEach
- javascript - 即使我的数据源 _sort 变量确实发生了变化,Mat-sort 也不起作用
- html - 风格与展望
- java - 大型 Java 应用程序中的 Eclipse 远程调试 .jar 文件
- c# - 如何从 Visual Studio Bitbucket 扩展中获取开发分支