Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在dict中获取项目索引或编号以及键、值_Python - Fatal编程技术网

Python 如何在dict中获取项目索引或编号以及键、值

Python 如何在dict中获取项目索引或编号以及键、值,python,Python,对于dictionary,我希望跟踪已解析的项的数量。与下面所示相比,有没有更好的方法 count = 0 for key,value in my_dict.iteritems(): count += 1 print key,value, count 您可以使用: enumerate()有效地向正在循环的迭代器添加计数。在上面的示例中,我告诉enumerate()从1开始计数,以匹配您的示例;默认值是从0开始 演示: 谢谢,我不知道你甚至可以在像字典这样没有顺序的容器上枚举

对于dictionary,我希望跟踪已解析的项的数量。与下面所示相比,有没有更好的方法

count = 0
for key,value in my_dict.iteritems():
     count += 1
     print key,value, count
您可以使用:

enumerate()
有效地向正在循环的迭代器添加计数。在上面的示例中,我告诉
enumerate()
1开始计数,以匹配您的示例;默认值是从0开始

演示:


谢谢,我不知道你甚至可以在像字典这样没有顺序的容器上枚举。我以前在列表中使用过enumerate。一个小区别-原始代码从1开始(因此使用
enumerate(items,1)
)@vkaul11:有一个顺序,它不是您应该依赖的顺序,因为它依赖于字典的插入和删除历史记录。:-)换句话说,
.iteritems()
方法将以任意顺序返回元素<代码>枚举()
不在乎;它只是像您的代码一样计算元素,每次向内部计数器添加1。是的,我的意思是没有像列表那样的索引顺序,其中有第一个元素,第二个元素等等。@vkaul11:
.items()
.keys()
.values()
返回列表,有第一个元素,第二个元素,等等。但是键和值返回的顺序不是您想要依赖的。列表将顺序保持为常量,而字典则不然。
for count, (key, value) in enumerate(my_dict.iteritems(), 1):
    print key, value, count
>>> somedict = {'foo': 'bar', 42: 'Life, the Universe and Everything', 'monty': 'python'}
>>> for count, (key, value) in enumerate(somedict.iteritems(), 1):
...     print key, value, count
... 
42 Life, the Universe and Everything 1
foo bar 2
monty python 3