在Python中展平列表(任意深度)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Python中展平列表(任意深度)相关的知识,希望对你有一定的参考价值。

Flatten a list of lists (or tuple of tuples, list of tuples, etc.) to any depth of nesting using no mutable objects.
  1. def flat(lst):
  2. '''
  3. return a tuple making from all values from the flatten list of lists (or tuple of tuples, etc.)
  4. '''
  5. return reduce(lambda l, e: (isinstance(e, list) or isinstance(e, tuple)) and l + flat(e) or l + (e,), lst, ())
  6.  
  7. assert flat([]) == ()
  8. assert flat((1,)) == (1,)
  9. assert flat([1, 2, 3]) == (1, 2, 3)
  10. assert flat([(1,2),[3,4,[5,6]],7,8,(9,(0,))]) == (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)

以上是关于在Python中展平列表(任意深度)的主要内容,如果未能解决你的问题,请参考以下文章

python 在Python中展平列表列表

如何在 Kotlin 中展平列表列表?

在Prolog中展平列表

Prolog中的展平列表[重复]

我们如何在不使用 recyclerview 的情况下创建水平列表视图?

在垂直列表视图中添加水平列表视图时不正确使用 ParentDataWidget