展平列表理解,一次两个列表理解
flattening list comprehension, two list comprehensions at once
为什么这会使列表变平 L
?
[item for sublist in L for item in sublist]
这对我来说没有任何直观意义,我不知道如何才能读懂它。我打算如何解析这个嵌套列表理解?
我完全希望它能起作用:
[item for item in sublist for sublist in L]
但这违反直觉(子列表未定义)。
[item for sublist in L for item in sublist]
是如何解析的?
嵌套理解与编写嵌套 for 循环的顺序相同:
result = []
for sublist in L:
for item in sublist:
result.append(item)
我通常格式化我的理解以帮助提醒未来的我:
result = [item
for sublist in L
for item in sublist]
为什么这会使列表变平 L
?
[item for sublist in L for item in sublist]
这对我来说没有任何直观意义,我不知道如何才能读懂它。我打算如何解析这个嵌套列表理解?
我完全希望它能起作用:
[item for item in sublist for sublist in L]
但这违反直觉(子列表未定义)。
[item for sublist in L for item in sublist]
是如何解析的?
嵌套理解与编写嵌套 for 循环的顺序相同:
result = []
for sublist in L:
for item in sublist:
result.append(item)
我通常格式化我的理解以帮助提醒未来的我:
result = [item
for sublist in L
for item in sublist]