2011-03-23 110 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]