python - 将嵌套 for 循环转换为列表理解

标签 python list list-comprehension

我编写了这样的循环代码:

all = []
for sen_list in sen_lists:
    te = []
    for ele in sen_list:
        boolean = ele == "."
        te.append(boolean)
    all.append(te)

sen_lists = [['a', 'b', 'c', 'd', '.', '.'], ['e', 'f', 'g', 'h']]

上面的代码运行良好...但我想转换列表理解代码。

我这样尝试:

[ele == "." for sen_list in rawdf.TEXT[:10] for ele in sen_list]

但是这段代码是行不通的。

请告诉我。谢谢。

最佳答案

考虑一个嵌套列表理解。或者,换句话说,列表推导 of 个列表推导。

内部的表示您的内部 for 循环。外层代表您的外层 for 循环。

sen_lists = [['a', 'b', 'c', 'd', '.', '.'], ['e', 'f', 'g', 'h']]

res = [[ele == "." for ele in sen_list] for sen_list in sen_lists]

# [[False, False, False, False, True, True], [False, False, False, False]]

关于python - 将嵌套 for 循环转换为列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53598908/

相关文章:

python - 在 python opencv 中从其值(欧氏距离)检索图像

list - 使用字符串列表创建变量

python - 多个 for 循环以更 Pythonic 的方式相互依赖

python - 列表理解和功能函数是否比 "for loops"更快?

python - 线程不工作

python - 我怎样才能告诉子进程停止转义我的引号?

python - 使用 Scikit-learn 确定 RF 模型中每个类的特征重要性

list - latex 错误: Counter too large: Latex multilevel list

r - 如何修改嵌套在列表内的数据框而不重新分配

python - 如何在类里面实现理解