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类型)