【发布时间】:2018-10-12 02:56:51
【问题描述】:
这只是概念的自学,可能没有实际用途
我的问题是
我可以只使用递归函数和列表推导来展平未知级别的嵌套列表吗?
如果1是可能的,我只能使用列表推导+lambda函数来达到同样的目的吗?
到目前为止,我能得到的只是这一切,但它似乎不起作用。
l=[1,[2,3],[4,5,[6,7,8,9]]] # assuming unknown level of nesting
def fun_d(x):
return [fun_d(e) if isinstance(e,list) else e for e in x]
fun_d(l)
Out[25]: [1, [2, 3], [4, 5, [6, 7, 8, 9]]]
【问题讨论】:
-
@dawg 不确定这是一个很好的副本,因为它只有一层深,
itertools.chain.from_iterable()是一个简单的解决方案。我不会怀疑可能有更合适的副本。 -
@AChampion 你是对的
-
Flatten an irregular list of lists 有很多很好的解决方案,但并不特定于使用递归列表推导。
-
然后将this 视为一个副本
-
或this 复制...
标签: python list recursion list-comprehension