Python : Recursively flatten a list
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Flatten (an irregular) list of lists in Python
号
我有一个列表
在写这篇文章的时候,我在相关问题的列表中找不到任何与我的疑问相匹配的问题。所以如果这是一个复制品,那么请友好地把我指向旧的问题,而不是激怒我。:)
如果要展平任意嵌套的iterables,可以尝试以下函数:
1 2 3 4 5 6 7 8 9 | def flatten(x): try: it = iter(x) except TypeError: yield x else: for i in it: for j in flatten(i): yield j |
例子:
1 2 3 | a = [2, 9, [1, 13], 8, 6] list(flatten(a)) # [2, 9, 1, 13, 8, 6] |
号
请注意,函数还将把字符串展平为单个字符。