给出一个列表字典,例如
d = {'1':[11,12], '2':[21,21]}
哪个更像是Python或其他更好的:
for k in d:
for x in d[k]:
# whatever with k, x
或者
for k, dk in d.iteritems():
for x in dk:
# whatever with k, x
或者还有什么要考虑的?
编辑,以防列表可能有用(例如,标准dict不保留顺序),这可能是适当的,尽管速度要慢得多。
d2 = d.items()
for k in d2:
for x in d2[1]:
# whatever with k, x
我考虑了两种方法:
我用ipython和memory_profiler来测试性能:
如您所见,该方法对峰值内存使用没有明显的影响,但是嵌套的
for
循环在速度上是无与伦比的(更不用说可读性了)。下面是速度测试,为什么不:
C配置文件示例输出:
下面是列表理解方法。嵌套。。。
相关问题 更多 >
编程相关推荐