示例一:
a=[[1,2,3],[4,5,6],[7,8,9]]
法一:列表推导式
[i for k in a for i in k]
输出:[1, 2, 3, 4, 5, 6, 7, 8, 9]
法二:sum()函数
sum(a,[])#这种展开方式比较奇怪,在sum()函数文档中也没有找到相关介绍。猜测是某种语法糖。
输出:[1, 2, 3, 4, 5, 6, 7, 8, 9]
法三:迭代赋值
b=[]
for _ in a:
b+=_
print(b)
输出:[1, 2, 3, 4, 5, 6, 7, 8, 9]
示例二:
a=[1,[2,3],4]
def flat(num):
res=[]
for i in num:
if isinstance(i,list):#判断i类型是否为list
res.extend(i)#在列表末尾一次性添加另一个序列中的多个值
else:
res.append(i)#在列表末尾添加单个值
print(res)
flat(a)
输出:[1, 2, 3, 4]