我正在试图弄清楚这个列表理解是如何工作的,但我不太明白它是如何工作的。如果有人可以写出非列表理解的等价物,我想我可以理解。
这就是我坚持的路线:
[item for sublist in li for item in sublist]
声明的目的是淘汰多维列表。以下是我测试它的一个例子:
>>> li = [[0,1],[1,3,5],[4,5,3,2]]
>>> [item for sublist in li for item in sublist]
[0, 1, 1, 3, 5, 4, 5, 3, 2]
答案 0 :(得分:7)
非列表理解等价物:
arr = []
for sublist in li:
for item in sublist:
arr.append( item )
答案 1 :(得分:2)
循环版本的等价物如下所示:
result = []
for sublist in li:
for item in sublist:
result.append(item)
因此,列表推导中for
语句的顺序等同于它们在嵌套for语句中的显示顺序。