【发布时间】:2013-02-04 07:19:06
【问题描述】:
我有以下python嵌套列表结构:
test = ['a', ['c', ['e'], 'd'], 'b']
还是一样,只是格式化了:
test = [
'a',
[
'c',
[
'e'
],
'd'
],
'b'
]
我想知道迭代完整列表的最佳方法是什么,从最里面的嵌套列表对象 ('e') 到最外面的列表 ('a', [...], 'b')以相反的顺序。对 reversed(test) 的调用并不能解决嵌套列表的问题。它应该能够在迭代的每个深度调用回调函数。
迭代应该看起来像这样([xx] == 来自先前调用的回调的计算值):
1st e --> callback(e)
2nd c [e] d --> callback(c [e] d)
3rd a [c e d] b --> callback(a [c e d] b)
希望这能解释我的问题并感谢您的帮助
【问题讨论】:
-
扁平化列表不是一种选择吗?
-
@StoryTeller:展平会在
[b, d, e, c a]上循环。 -
我还认为这可能会有所帮助。问题是我必须使用回调函数计算每个嵌套列表项。展平后我不知道应该计算哪个项目...
标签: python python-3.x