发布时间:2019-09-07 08:05:02编辑:auto阅读(2277)
问题1:对于列表形如 list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]] 转化成列表 list_2 = [1, 2, 3, 4, 5, 6, 7, 8, 9] 的问题。
Python实现:
# 普通方法
list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]]
list_2 = []
for _ in list_1:
list_2 += _
print(list_2)
# 列表推导
list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]]
list_2 = [i for k in list_1 for i in k]
print(list_2)
# 使用sum
list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]]
list_2 = sum(list_1, [])
print(list_2)问题2:对于复杂一些的,如:list =[1,[2],[[3]],[[4,[5],6]],7,8,[9]],上面的方法就不好使了。得换个方法了,这里使用递归的方法解决。
Python实现:
def flat(nums):
res = []
for i in nums:
if isinstance(i, list):
res.extend(flat(i))
else:
res.append(i)
return res
上一篇: Python Robot Framewo
下一篇: 《Python入门》第一个Python
51746
51430
41840
38612
33107
30097
28769
23768
23679
22047
78°
2276°
2967°
2473°
2416°
3017°
2425°
3231°
5324°
5147°