密钥的Python循环索引,使用items时的循环值()

时间:2014-08-06 00:30:53

标签: python dictionary

我使用

循环字典
for key, value in mydict.items():

我想知道是否有一些pythonic方法也可以访问循环索引/迭代次数。访问索引,同时仍然可以访问键值信息。

for key, value, index in mydict.items():

这是因为我需要在循环第一次运行时检测到。所以在里面我可以有像

这样的东西
if index != 1:

3 个答案:

答案 0 :(得分:28)

您可以使用enumerate功能,就像这样

for index, (key, value) in enumerate(mydict.items()):
    print index, key, value

enumerate函数给出项目的当前索引和实际项目本身。在这种情况下,第二个值实际上是键和值的元组。因此,在解包期间,我们明确将它们分组为元组。

答案 1 :(得分:1)

如果你只需要索引在第一次迭代时做一些特别的事情,你也可以使用.popitem()

key, val = mydict.popitem()
...
for key, val in mydict.items()
    ...

这会删除key, val中的第一个mydict对(但也许这对您来说不是问题?)

答案 2 :(得分:0)

if mydict:
    iterdict = mydict.iteritems()

    firstkey, firstvalue = next(iterdict)
    # do something special with first item

    for key, value in iterdict:
        # do something with the rest