"""
问题1:对于列表形如 list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]]
转化成列表 list_2 = [1, 2, 3, 4, 5, 6, 7, 8, 9] 的问题。
"""
list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]]
#方法一
list_2 = []
for sub_list in list_1:
list_2 += sub_list
print(list_2)
#方法二
'''
list_2 = [i for k in list_1 for i in k]
print(list_2)
'''
#方法三
'''
list_2 = sum(list_1, [])
print(list_2)
'''
#问题2:对于复杂一些的,如:list =[1,[2],[[3]],[[4,[5],6]],7,8,[9]],
# 上面的方法就不好使了。得换个方法了,这里使用递归的方法解决。
'''
list_3 =[1, [2], [[3]], [[4, [5], 6]], 7, 8, [9]]
def flat(num):
res = []
for i in num:
if isinstance(i, list):
res.extend(flat(i))
else:
res.append(i)
return res
print(flat(list_3))
'''
【算法】嵌套列表展开
猜你喜欢
转载自blog.csdn.net/qq_30159015/article/details/80781053
今日推荐
周排行