我只是想知道是否有一种简单的方法可以做到这一点。我有一个从文件解析的特定结构,输出是一个字典列表的一个列表。目前,我只有一些看起来像这样的代码:
for i in xrange(len(data)):
for j, k in data[i].iteritems():
for l in xrange(len(data[i]['data'])):
for m, n in data[i]['data'][l].iteritems():
dostuff()
我只是想知道是否有一个函数可以遍历结构并在内部确定每个条目是列表还是字典,如果是字典,则遍历该字典等等。我只使用 Python 大约一个月左右,所以我绝不是该语言的专家,甚至不是该语言的中级用户。预先感谢您的回答。
编辑:即使有可能完全简化我的代码,它也会有所帮助。
您永远不需要遍历xrange(len(data))
。您遍历 data
(对于列表)或 data.items()
(或 values()
)(对于字典)。
您的代码应如下所示:
for elem in data:
for val in elem.itervalues():
for item in val['data']:
短了很多。
我是一名优秀的程序员,十分优秀!