Python - 从字典中访问值
Posted
技术标签:
【中文标题】Python - 从字典中访问值【英文标题】:Python - Accessing values from a dictionary 【发布时间】:2021-12-31 19:25:21 【问题描述】:从事一些有趣的事情......对编程来说是全新的。如何访问字典中的值,以便我可以添加成本值或检查它是“主要”还是“侧面”项目等。
from collections import OrderedDict
#Items on menu
item1 = OrderedDict(name = "Regular Pizza",
cost = 20,
item_type = "Main",
size = "Regular")
item2 = OrderedDict(name = "Regular Salad",
cost = 5,
item_type = "Side",
size = "Regular")
【问题讨论】:
你为什么使用OrderedDict
?你有没有做过关于在 Python 中使用字典的研究?也许是官方教程?
item1['name']
将得到 name
变量 item1
这里将是 'Regular Pizza'.
您只需使用引号中您要查找的值的键。
感谢@fam-woodpecker 的回复。
我使用的是 OrderedDict,所以它可以按照我写的顺序打印,我尝试使用 Pretty Printer。当我打印它时,我希望它按照我编写的顺序进行,并且希望每个订单组合之间有一个空行(组合来自我在代码中拥有的多个项目的组合)。任何提示将不胜感激@juanpa.arrivillaga
【参考方案1】:
嗯,第一件事。
我看到您正在使用来自collections
的OrderedDict
而不是仅使用dict
。不要这样做,因为您是 Dictionary 的新手,我认为您应该从“vanilla dict”开始。
OrderedDict 顾名思义是为了保留其中元素的顺序。
但是,在Python 3.5
对dict
实施订单保留功能后,请在此答案中阅读更多内容 - Difference between dict and ordered dict
另外,当我们通过key
访问字典值时,我认为这个顺序在这里没有多大用处。
现在是关于如何访问字典元素的问题。从您的示例开始,您的菜单中有 2 个项目。
item1 =
'name' : 'Regular Pizza',
'cost' : 20,
'item_type' : 'Main',
'size' : 'Regular'
item2 =
'name' : 'Regular Salad',
'cost' : 5,
'item_type' : 'Side',
'size' : 'Regular'
在这里,我创建了一个包含 2 个项目的字典。现在
-
检查这道菜是否是主菜。
print ('The item is a ' + item1['item_type']+ ' dish')
-
为物品增加成本。
# increase item1 cost by 5
item1['cost'] += 5
提示:此外,您可以将所有菜肴放在一个列表中并通过索引值直接访问它们,这样您就不必创建多个变量,例如item1, item2...
实现就像-
food = [
'name' : 'Regular Pizza',
'cost' : 20,
'item_type' : 'Main',
'size' : 'Regular'
,
'name' : 'Regular Salad',
'cost' : 5,
'item_type' : 'Side',
'size' : 'Regular'
]
现在访问元素-
print ('The item is a ' + food[0]['item_type']+ ' dish')
food[0]['cost'] += 5
【讨论】:
感谢您提供非常有帮助的回复@anantdark 我正在对所有食品进行可能的组合,但我将能够在 1 个列表中找到所有菜肴的组合。我还将添加每件商品的总订单成本(菜肴组合) 很高兴我能帮上忙。是的,您可以在嵌套列表中轻松组合并添加成本。如果您需要进一步的帮助,请评论您的 github repo 链接,我们可以在那里合作。另外,如果您已收到答案,请将此答案标记为正确。以上是关于Python - 从字典中访问值的主要内容,如果未能解决你的问题,请参考以下文章