[记录点滴] 一个Python中实现flatten的方法
之前如果想使用flatten,一般借助于numpy.ndarray.flatten。
但是 flatten只能适用于numpy对象,即array或者mat,普通的list列表不适用。
最近找到一个轻便的办法如下:
from itertools import chain
# flatten
print(list(set(chain.from_iterable(["aaa", "bbb", ["c","d", "e"]]))))
# 输出['b', 'd', 'c', 'a', 'e']
如果不想去重,则类似思路也可以将嵌套列表转换成单一列表:
print(list(chain.from_iterable([[1, 3], [4, 4], [5,8,7]])))
# 输出[1, 3, 4, 4, 5, 8, 7]