Boo*_*aKa 1 python list-comprehension list nested-lists
我有两个清单:
L1 = [3, 5, 7, 8, 9, 5, 6, 7, 4, 3]
L2 = [1, 4, 5, 8, 3, 6, 9, 3, 5, 9]
Run Code Online (Sandbox Code Playgroud)
我需要为L2中小于4的每个项创建子列表,将其添加到L1中小于4的所有数字.我尝试这样做:
result = [(x+y) for x in L2 if x < 4 for y in L1 if y < 4]
Run Code Online (Sandbox Code Playgroud)
但它导致了我:
[4, 4, 6, 6, 6, 6]
Run Code Online (Sandbox Code Playgroud)
虽然结果应如下所示:
[[4, 4], [6, 6], [6, 6]]
Run Code Online (Sandbox Code Playgroud)
我应该如何以正确的方式筑巢?
创建嵌套列表解析
>>> [[(x+y) for y in L1 if y < 4] for x in L2 if x < 4]
[[4, 4], [6, 6], [6, 6]]
Run Code Online (Sandbox Code Playgroud)
这里内部列表理解创建内部列表,然后通过外部理解将其附加到单个列表中.