a=[[1,2,3],[4,5,6],[7,8,9]] d=[c for b in a for c in b ] print(d) 有没有别的方法能得到同样的结果
时间: 2023-08-18 07:02:43 浏览: 117
是的,还有其他方法可以得到相同的结果。以下是两种常见的方法:
方法一:使用嵌套循环
```
a = [[1,2,3],[4,5,6],[7,8,9]]
d = []
for sublist in a:
for num in sublist:
d.append(num)
print(d)
```
这种方法使用了嵌套循环,首先对二维列表a进行外层循环,然后对每个子列表进行内层循环。将每个元素逐个添加到列表d中。
方法二:使用itertools模块的chain函数
```
from itertools import chain
a = [[1,2,3],[4,5,6],[7,8,9]]
d = list(chain(*a))
print(d)
```
这种方法使用了itertools模块的chain函数。它可以将多个可迭代对象连接成一个单一的迭代器。在这个例子中,我们将二维列表a作为参数传递给chain函数,并将返回的迭代器转换为列表d。
这两种方法都可以得到与之前相同的结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]。你可以根据自己的喜好选择其中一种方法来实现。
阅读全文