2011-10-06 89 views
-2

如果我有一本字典,看起來像:打印數據在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

回答

2

假設你的詞典被稱爲d你可以這樣做:

print(d['first'][0]['red'][3]) 
  • 表達d['first']爲您提供了關鍵'first'關聯的值。該值是一個列表。
  • [0]爲您提供了列表中的第一個元素(順便說一下,爲什麼您只有一個包含一個元素的列表?)。請注意,在Python中索引是基於0的。
  • 然後你有另一個字典的值再次列表。 ['red']從此字典中提取值。
  • [3]訪問列表中的第四個元素。
+0

我只是把一個簡單的例子放在一起。一般來說,我的名單有不止一個元素。謝謝您的回答。我知道它必須是這樣簡單的東西。 – user728166

1

print mydict["first"][0]["red"][3]將打印項目3(第四項,因爲項目0是第一項元素)。在這種情況下,它應該給你six

此外,你必須在這裏的是包含包含包含在另一個dict一個listdict內的list。數字索引3訪問內部list的一部分,對dict不是有用的。

1

對於你問的一個:

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