列表降维的常用方法
今天在看 奇技淫巧 的时候,忽然发现了【II】将多层嵌套列表展开
这个帖子,
于是自己又写了几个,
也是给大家提供一点思路
1.
import operator
from functools import reduce
a = [, , ]
print(reduce(operator.add, a))
2.
a = [, , ]
l=[]
for m in range(0,3):
for i in a:
l.append(i)
print(l)
3.from itertools import chain
b = [, , ]
c = list(chain(*b))
print(c)
4.a = [, , ]
a = eval('['+str(a).replace(' ','').replace('[','').replace(']','')+']')
print(a)
5.def flatten(a):
if not isinstance(a, (list, )):
return
else:
b = []
for item in a:
b += flatten(item)
return b
6.ab = [, , ]
print() 我记得我有写过def flatten(it, /):
for i in it:
if hasattr(i,'__iter__'):
yield from flatten(i)
else:
yield i 永恒的蓝色梦想 发表于 2020-4-27 13:44
我记得我有写过
我想了好长时间。
然后就是这 6 个 >>> print(list(__import__('itertools').chain.from_iterable([, , ])))
页:
[1]