2024-10-01 00:25:14 发布
网友
这就是我一直在用的:
for i in iter(SHAPES): SHAPES[i].drawOrder(97) SHAPES[i].alpha(CFG["SHP_alpha"]) . .
我就是这么想的:
for i, v in app.SHAPES.items(): v.drawOrder(97) v.alpha(CFG["SHP_alpha"]) . .
我应该用这两个中的哪一个?还有其他方法吗?你知道吗
迭代dict中的值
for v in SHAPES.itervalues(): v.drawOrder(97) ...
为字典提供最大灵活性的选项是使用enumerate()和口述(). 你知道吗
for i, (k,v) in enumerate(SHAPES.iteritems()): print "My index is {0}, key is {1}, and value is {2}".format(i, k, v)
如果您不需要密钥,只需忽略它并使用.itervalues()。如果您同时需要键和值,.iteritems()确实是一种方法。注意,在python3中,那些去掉了iter前缀的内容和python2 .values()和.items()(返回的列表)都不见了。它们有它们(很少)的用途,但是当你只是迭代时,就不需要复制字典的一半了。你知道吗
.itervalues()
.iteritems()
iter
.values()
.items()
千万不要自己调用iter,除非你真的需要一个迭代器(例如next)。这几乎是从未有过的;)for i in iterable已经隐式地使用了iter(iterable)。你知道吗
next
for i in iterable
iter(iterable)
迭代dict中的值
为字典提供最大灵活性的选项是使用enumerate()和口述(). 你知道吗
如果您不需要密钥,只需忽略它并使用
.itervalues()
。如果您同时需要键和值,.iteritems()
确实是一种方法。注意,在python3中,那些去掉了iter
前缀的内容和python2.values()
和.items()
(返回的列表)都不见了。它们有它们(很少)的用途,但是当你只是迭代时,就不需要复制字典的一半了。你知道吗千万不要自己调用
iter
,除非你真的需要一个迭代器(例如next
)。这几乎是从未有过的;)for i in iterable
已经隐式地使用了iter(iterable)
。你知道吗相关问题 更多 >
编程相关推荐