打印数据在Python

问题描述:

如果我有一本字典,看起来像:打印数据在Python

{'first': [ 
    {'red': ['six', 'three', 'seven', 'six']}, 
    {'green': ['eight', 'three', 'four']} 
], 
'second': [ 
    {'blue': ['one', 'five', 'three']} 
] 
} 

我怎样才能到具体点的字典吗?例如,如何在副标题'红'下打印'第一'标题中的第二个'六'?

+0

你的意思是*秒* “六个一”? –

+0

是的,对不起。我指的是第四个位置。 – user728166

+0

'dict_name ['first'] [0] ['red'] [3]'?你是这个意思吗? – agf

假设你的词典被称为d你可以这样做:

print(d['first'][0]['red'][3]) 
  • 表达d['first']为您提供了关键'first'关联的值。该值是一个列表。
  • [0]为您提供了列表中的第一个元素(顺便说一下,为什么您只有一个包含一个元素的列表?)。请注意,在Python中索引是基于0的。
  • 然后你有另一个字典的值再次列表。 ['red']从此字典中提取值。
  • [3]访问列表中的第四个元素。
+0

我只是把一个简单的例子放在一起。一般来说,我的名单有不止一个元素。谢谢您的回答。我知道它必须是这样简单的东西。 – user728166

print mydict["first"][0]["red"][3]将打印项目3(第四项,因为项目0是第一项元素)。在这种情况下,它应该给你six

此外,你必须在这里的是包含包含包含在另一个dict一个listdict内的list。数字索引3访问内部list的一部分,对dict不是有用的。

对于你问的一个:

>>> a = {'first': [{'red': ['six', 'three', 'seven', 'six']}, {'green': ['eight', 'three', 'four']}], 'second': [{'blue': ['one', 'five', 'three']}]} 
>>> a['first'][0]['red'][3] 
'six'