2011-03-23 93 views
1

不知道人是指年齡稍大的問題,但 Accessing elements of python dictionary訪問從Python字典特定元素

考慮像

dict = { 
     'Apple': {'American':'16', 'Mexican':10, 'Chinese':5}, 
     'Grapes':{'Arabian':'25','Indian':'20'} 
     } 

的字典如何比如訪問該字典的特定元素?例如,我想在打印第一個元素之後打印第一個元素,在我們的例子中只有'American'

附加信息上述數據結構是通過在Python函數解析輸入文件創建的。一旦創建,但它仍然是相同的運行。

我用我的功能這個數據結構。

因此,如果該文件的變化,下一次該應用程序運行文件的內容是不同的,因此這個數據結構的內容會有所不同,但形式是一樣的。所以你看我在我的功能,我不知道,在Apple第一個元素是'American'或其他任何東西,所以我不能直接使用'American'作爲重點。

簡而言之,我有一個變量v,它可能有值'apple','grape'或任何其他和上面創建的數據結構作爲我的函數的輸入。

如果變量是存在於上述數據結構字典,

因此,如果variable==applegrapes然後: 然後我需要得到其相應的相關元件和在這樣的特定的格式打印出來;

Group Apple 
    Item "American" Value 16 
    Item "Mexican" Value 10 

Group Grapes 
    Item "Arabian" Value 25 
    Item "Indian" Value 20 

Group value3 .. 
    and so on 

如果variable == 'pumpkin'我們在上面快譯通數據結構,因爲它南瓜搜索它不存在,我們不打印任何

等。

我希望我能夠說明什麼我想要的。 注意:最好把它和上面的問題合併起來,這樣我也可以接受答案

+0

Python字典的沒有排序。第一個元素是什麼意思? – DTing 2011-03-23 19:50:08

+1

最根本的是,你應該明白,一個'dict'沒有排序,所以那句「一個字典的第一要素」是沒有意義的。要以有序的方式從字典中獲取鍵和值,應該使用'dict.keys()','dict.values()'或'dict.items()'。但沒有告訴什麼樣的順序,他們將出現。 – senderle 2011-03-23 19:52:19

+0

好Kriegar可能是「第一」不是適當的術語。我的意思是如果我的變量出現在字典中,那麼訪問它的元素。例如對於字典中的變量v: – alessandra 2011-03-23 19:55:26

回答

3
for i in dict.keys(): 
    print "Group", i 
    for j in dict[i].keys(): 
     print "Item", j, "Value", dict[i][j]