【发布时间】: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==apple 或grapes 那么:
然后我需要获取它的相应关联元素并以这样的特定格式打印它们;
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