我为这样的循环代码制作了
: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]
但是此代码不起作用。
请让我知道。谢谢。
答案 0 :(得分:4)
考虑一个嵌套列表理解。或者换句话说,是列表理解的列表理解。
内部循环代表您内部的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]]
答案 1 :(得分:1)
您需要将布尔逻辑包装在[]中,以便boolean =
知道它应该相等。
boolean = [ele == '.']
我不知道在一行上全部完成的逻辑,就像您要在问题末尾尝试做的那样。