Python:【列表】 二维列表转换为一维列表


方法分析

将以下二维列表变为一维列表。

nums=[[1,2,3],[4,5,6],[7,8,9]]

一、列表生成式(推导式)

>>>[num for hang in nums for num in hang]
[1,2,3,4,5,6,7,8,9]

二、双重循环

>>>res=[]
>>>for hang in nums:
>>>  for num in hang:
>>>    res.append(num)
[1,2,3,4,5,6,7,8,9]

三、单层循环(拼接法)

>>>res=[]
>>>for hang in nums:
>>>  res+=hang
[1,2,3,4,5,6,7,8,9]

四、求和

>>>sum(nums,[])
[1,2,3,4,5,6,7,8,9]

具体详见"sum()函数介绍"。具体的执行过程是,nums中每一项相加,结果为一个长列表,具体的值为nums的所有值,最终该列表再与[]相加,尽管结果不变,但会使得结果为一个列表。如果不加该起始值,则默认为0,便会出现计算类型错误(加号两边为int和list类型)