迭代Python中的字典

时间:2014-09-17 08:44:29

标签: python

如何迭代我的字典?我需要打印每件物品的细节。

my_dict = {
   'item':[
      {
         'date':'1990',
         'name':'test',
         'image':'/media/item/img.jpg',
         'desc':'Sample desc'
      },
      {
         'date':'1991',
         'name':'test1',
         'image':'/media/item/img1.jpg',
         'desc':'Sample desc1'
      }
   ]
}

2 个答案:

答案 0 :(得分:0)

你像一个数组一样迭代一个字典,但不是给你字典中的值,而是给你键。

> my_dict = {"a" : 4, "b" : 7, "c" : 8}
> for i in my_dict:
...  print i

a
b
c

然后,您可以像平常一样访问字典中的数据。 (这是通过方括号实现的,因此my_dict["a"]将给出4。)

答案 1 :(得分:0)

Dictionary具有迭代自身以打印每个项目的能力。要简单地按照您的要求打印每个项目的详细信息,只需使用打印命令:

>>> ourNewDict = {'name': 'Kyle', 'rank': 'n00b', 'hobby': 'computing'}
>>> print ourNewDict

Output: {'hobby': 'computing', 'name': 'Kyle', 'rank': 'n00b'}

或者,要独立打印键和值:

>>> print ourNewDict.keys()
Output: ['hobby', 'name', 'rank']
>>> print ourNewDict.values()
Output: ['computing', 'Kyle', 'n00b']

如果我更多地阅读你的问题,并猜测你想要遍历每个对象而不仅仅是打印,那么items()命令就是你需要的。

>>> for key, value in ourNewDict.items():
...     print key
... 
hobby
name
rank
>>> for key, value in ourNewDict.items():
...     print value
... 
computing
Kyle
n00b
>>> 

非常通用:

>>>for someVariableNameHere in someDictionaryNameHere.items():
...     doStuff