a=[[1,2,3],[4,5,6],[7,8,9]]
d=[c for b in a for c in b]
print(d)
这段代码中第二行d=[c for b in a for c in b]可以解释一下怎么看的吗
最终结果为[1, 2, 3, 4, 5, 6, 7, 8, 9]
当我们写列表推导式时,可以使用多个 for 子句来处理嵌套的序列,每个子句都可以有一个可选的条件表达式。在这个例子中,第一个 for 子句循环遍历 a 列表的元素,即 [1,2,3]、[4,5,6]、[7,8,9]。第二个 for 子句循环遍历子列表中的元素,即遍历 [1,2,3] 中的 1、2、3,遍历 [4,5,6] 中的 4、5、6,以此类推。最终将遍历到的每个元素 c 都添加到结果列表 d 中,最终结果为 [1, 2, 3, 4, 5, 6, 7, 8, 9]。相当于以下的循环语句:
d = []
for b in a:
for c in b:
d.append(c)
d=[c for b in a for c in b]是列表推导式中的嵌套循环的写法。
相当于:
a=[[1,2,3],[4,5,6],[7,8,9]]
d = []
for b in a:
for c in b:
d.append(c)
print(d)
想要加深对列表推导式的理解,可以阅读热文:https://blog.csdn.net/weixin_43790276/article/details/90247423
不知道你这个问题是否已经解决, 如果还没有解决的话: