Skip to main content
 首页 » 编程设计

python之如何合并列表以获得列表列表

2025年05月04日11findumars

我想以特定的方式合并三个列表。
考虑列表:

a = [ a1 , a2 , a3 , a4 ] 
b = [ b1 , b2 , b3 , b4 ] 
c = [ c1 , c2 , c3 , c4 ] 

最后,我想获得一个列表列表:

res = [[a1,b1,c1],[a2,b2,c2]....[a4,b4,c4]] 

我是 Python 的新手。有人可以帮帮我吗?

请您参考如下方法:

你可以试试zip() :

python 2.x:

>>> a = [ 'a1' , 'a2' , 'a3' , 'a4' ] 
>>> b = [ 'b1' , 'b2' , 'b3' , 'b4' ] 
>>> c = [ 'c1' , 'c2' , 'c3' , 'c4' ] 
>>> 
>>> map(list, zip(a,b,c)) 
[['a1', 'b1', 'c1'], ['a2', 'b2', 'c2'], ['a3', 'b3', 'c3'], ['a4', 'b4', 'c4']] 

Python 3.x:

>>> a = [ 'a1' , 'a2' , 'a3' , 'a4' ] 
>>> b = [ 'b1' , 'b2' , 'b3' , 'b4' ] 
>>> c = [ 'c1' , 'c2' , 'c3' , 'c4' ] 
>>>  
>>> [list(t) for t in zip(a,b,c)] 
[['a1', 'b1', 'c1'], ['a2', 'b2', 'c2'], ['a3', 'b3', 'c3'], ['a4', 'b4', 'c4']] 

3.x 版本在 2.x 中也能按预期工作,但我总是喜欢在可以轻松使用的地方使用 map。 2.x 版本在 3.x 中无法正常工作的原因是 zip() 和 map() 都更改为返回迭代器。