【问题标题】:accessing specific elements from python dictionary从 python 字典中访问特定元素
【发布时间】:2011-07-21 14:39:47
【问题描述】:

不确定人们是否指的是稍旧的问题,但 Accessing elements of python dictionary

考虑像这样的字典

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

例如,我如何访问该字典的特定元素?例如,我想在格式化 Apple 的第一个元素后打印第一个元素,在我们的例子中是 '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' 我们在上面的 Dict 数据结构中搜索它,并且由于它不存在南瓜,我们不打印任何东西

等等。

我希望我能够解释我想要什么。 注意:最好将其与上述问题合并,这样我也可以接受答案

【问题讨论】:

  • Python 字典没有排序。第一个元素是什么意思?
  • 从根本上说,你应该明白dict 没有排序,所以“字典的第一个元素”这个短语没有意义。要以有序的方式从字典中获取键和值,您应该使用dict.keys()dict.values()dict.items()。但不知道它们会以什么顺序出现。
  • 好吧,Kriegar 可能是“第一”不是恰当的术语。我的意思是如果我的变量存在于 dict 中,那么访问它的元素。例如对于 dict 中的变量 v:
  • 在这种情况下,@pelya 的答案看起来就像您所追求的那样。但是,让我强调一下,您不应该将您的字典称为“dict”,因为这是您现在要屏蔽的 Python 类名。

标签: python string dictionary


【解决方案1】:
for i in dict.keys():
    print "Group", i
    for j in dict[i].keys():
        print "Item", j, "Value", dict[i][j]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-09
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    • 2013-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多