首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >添加到列表中的字典的条件检查

添加到列表中的字典的条件检查
EN

Stack Overflow用户
提问于 2020-05-24 19:57:20
回答 2查看 24关注 0票数 0

我是个彻头彻尾的菜鸟。我正在使用:https://www.nostarch.com/pythoncrashcourse2e/

我学的是关于字典的CH6。作为一个小项目,为了确保我理解字典(到目前为止我所学到的,并不是很多)和回顾书中一些更老的东西,我想创建一个带有特定关键字/值的啤酒列表以供参考,这样我就可以向潜在客户提供关于啤酒的建议(一旦我有了知识库,我会把它做得更大更好)。

我已经尝试了不同的方法来对我添加到名为“啤酒”的列表中的字典运行条件检查。最新的资料如下:

第一步是创建字典:

代码语言:javascript
运行
复制
beer_1 = {'color' : 'blonde', 'alc' : 5.5, 'volume' : '33cl', 'price' : 2.75} 

beer_2 = {'color' : 'chocolate', 'alc' : 7, 'volume' : '33cl', 'price' : 4.0} 

beer_3 = {'color' : 'red', 'alc' : 6, 'volume' : '33cl', 'price' : 3.50} 

步骤2是将它们添加到列表中:

代码语言:javascript
运行
复制
beers = [beer_1, beer_2, beer_3] 

第三步是打印列表,以确保所有内容都在那里。

代码语言:javascript
运行
复制
print(beers) 

我想通过运行以下命令来运行检查:(到目前为止只有一个示例):

代码语言:javascript
运行
复制
for beer in beers: 
   if 'alc' in beer == 6: 
      print("This is an amber.") 

使用它我不会得到任何输出,除非我添加了一个' else‘语句,然后它只打印else语句。我需要做什么才能实现我想要的东西?也就是说,根据客户的选择,对我列表中的字典进行检查,以确定啤酒的理想特性,以便为它们提供适当的建议。

EN

回答 2

Stack Overflow用户

发布于 2020-05-24 20:03:08

您可以在字典上使用get方法:

代码语言:javascript
运行
复制
for beer in beers: 
   if beer.get('alc', 0) == 6: 
      print("This is an amber.") 

此方法不起作用:

代码语言:javascript
运行
复制
if 'alc' in beer == 6: 

因为,它首先计算'alc' in beer,它的计算结果是TrueFalse,然后它永远不会等于6。

票数 0
EN

Stack Overflow用户

发布于 2020-05-24 20:03:50

这不是在字典中检查键-值对的方式。

您应该通过引用key来获取字典中的值。

代码语言:javascript
运行
复制
for beer in beers: 
   if beer['alc'] == 6: 
      print("This is an amber.")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61985596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档