【发布时间】:2013-08-19 19:49:26
【问题描述】:
给定一个列表字典,例如
d = {'1':[11,12], '2':[21,21]}
哪个更pythonic或更可取:
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
或者还有什么需要考虑的?
编辑,如果列表可能有用(例如,标准字典不保留顺序),这可能是合适的,尽管它要慢得多。
d2 = d.items()
for k in d2:
for x in d2[1]:
# whatever with k, x
【问题讨论】:
-
我更喜欢第二种,但它们几乎同样清晰。
-
为什么不用更多的 Pythonic 和列表推导?
-
@woofmeow 请澄清
-
抱歉刚刚太忙了……@foosion 正在谈论类似于下面的 kelorecs 答案的内容,其中包含列表推导……虽然不太可读
标签: python python-2.7 dictionary iterator