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】:

嗯,第一件事。

我看到您正在使用来自collectionsOrderedDict 而不是仅使用dict。不要这样做,因为您是 Dictionary 的新手,我认为您应该从“vanilla dict”开始。

OrderedDict 顾名思义是为了保留其中元素的顺序。

但是,在Python 3.5dict 实施订单保留功能后,请在此答案中阅读更多内容 - 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 - 从字典中访问值的主要内容,如果未能解决你的问题,请参考以下文章

python中字典的问题

Python字典dict的用法访问dict

python 字典

从每个键有多个值的字典中调用特定的字典值,Python

从 python 字典中访问数据

python数据字典的操作