[记录点滴] 一个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]

相关推荐