Python 从多类型嵌套列表生成平面列表
可能重复:Python 从多类型嵌套列表生成平面列表,python,Python,可能重复: 我有以下清单-- 我需要把它弄平-- 为此,我目前正在使用for循环和isinstance,循环数为#nests-1 使嵌套列表扁平化的最简单方法是什么?多谢各位 在这里可以找到一个类似的问题,该问题涉及从嵌套列表(仅)生成平面列表:。从 EDIT:这里的iterable测试非常简单,可以通过检查\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu>或集合的实例来改进。iterable抽象基类 编辑2:@
我有以下清单-- 我需要把它弄平-- 为此,我目前正在使用
for
循环和isinstance
,循环数为#nests-1
使嵌套列表扁平化的最简单方法是什么?多谢各位
在这里可以找到一个类似的问题,该问题涉及从嵌套列表(仅)生成平面列表:。从
EDIT:这里的iterable测试非常简单,可以通过检查\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu>或集合的实例来改进。iterable
抽象基类
编辑2:@ChristopheD完全正确,这是一个骗局,因此请转到链接问题。尝试以下方法:
def flat(mlist):
result = []
for i in mlist:
if type(i) is list:
result.extend(flat(i))
else:
result.append(i)
return result
嗨,我很难理解这句话“在平坦(榆树)的relm”。递归在这里是如何工作的,每次迭代后它是否会“产生relm”行?有人能解释一下我用的是干跑步吗?请我们能像这样处理它。。。。。。。。。。。。try:#it_is=iter(x)##如果它不可编辑,则按原样返回列表#除了TypeError:#产生x
[1,2,3,4,5,6,7]
def flatten(iterable):
"""Recursively iterate lists and tuples.
"""
for elm in iterable:
if isinstance(elm, (list, tuple)):
for relm in flatten(elm):
yield relm
else:
yield elm
def flat(mlist):
result = []
for i in mlist:
if type(i) is list:
result.extend(flat(i))
else:
result.append(i)
return result