【发布时间】:2013-02-04 09:02:53
【问题描述】:
在Iterating nested list inside-out,有人告诉我“类型检查不是 Pythonic”。一般来说,这是真的:我们只想查看界面(duck-typing)而不是特定类型。
该问题涉及['a', ['c', ['e'], 'd'], 'b'] 形式的嵌套列表,我们特别考虑字符串原子(不可迭代)。所以,我们不能使用毯子 collections.Iterable,但另一方面 isinstance(x, list) 确实有点 hacky。
我的回答是
def traverse(l):
for x in l:
if isinstance(x, list):
traverse(x)
callback(l)
有什么更好的方法?或者isinstance在这里好吗?
【问题讨论】:
标签: python collections iterable