繁体   English   中英

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

[英]Convert nested for loop to 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]

但是此代码不起作用。

请告诉我。 谢谢。

考虑嵌套列表理解。 换句话说,就是列表理解列表理解。

内层代表您的内层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]]

您需要将布尔逻辑包装在[]中,以便boolean =知道应该等于什么。

boolean = [ele == '.']

我不知道在一件事上做所有事情的逻辑,就像您在问题的末尾尝试做的那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM