python - Python字典中的列表
问题描述
好的,所以我刚开始使用 Python,并且在字典中遇到了一个列表。
items_available = {
"orders": [1, 5, 10, 15, 20, 220, 330, 1000],
"grapes": {"green": 3, "purple": 7, "white": 1},
"litres_water": [1, 1.5, 2, 5, 10],
"bread": 27
}
我需要以某种方式分别获取葡萄部分的所有信息,我对如何做到这一点感到困惑。例如。我之前确定了客户想要的葡萄数量和颜色。然后我需要检查它是否可以从上面给出的列表中获得。
我试着像这样编码
amount_of_grape_packs_needed = order_details[3] # amount the customer is requesting. Found previously.
av_grapes = items_available.get('grapes')
max_available = amount_of_grape_packs_needed in av_grapesdesired_colour = order_details[2] in av_grapes
enough_packs = grape_amount_needed in max_available
??????一团糟。我知道。我还尝试从字典中提取葡萄作为列表,然后只使用列表。但我把那弄得一团糟。
任何帮助将不胜感激,请。多谢你们
(请原谅任何格式错误等,这是我第一次使用堆栈溢出:))
解决方案
据我了解,这就是你想要做的。
用户输入所需的葡萄数量 ( n
) 和葡萄颜色 ( color
)。
该函数check()
检查用户订购的葡萄是否存在。
items_available = {
"orders": [1, 5, 10, 15, 20, 220, 330, 1000],
"grapes": {"green": 3, "purple": 7, "white": 1},
"litres_water": [1, 1.5, 2, 5, 10],
"bread": 27
}
def check(color, n):
data = items_available.get('grapes')
if data[color] >= n:
return f"Enough {color} grapes."
else:
return f"Not enough {color} grapes."
print(check('green',2))
print(check('white',4))
Enough green grapes.
Not enough white grapes.
推荐阅读
- python - 函数 process_frame(input_frame) 如何接收它的参数?
- c - Lua C API:将指针作为用户数据推送
- java - Android:将数据从 ViewPager2 和 TabLayout 管理的片段发送到包含的活动
- json-ld - 在本地服务器上测试时 rdflib 无效的远程上下文
- java - 如何安装和忘记 java 9 模块(在 Windows 上)?
- linux - grep 文件以读取键:值
- c++ - 将构造函数的参数复制到智能指针中
- javascript - 制作成功的 AR 标记是否有任何既定规则/要求?
- java - 带有 SOAP XML JAX-WS(WAS Portal 7)服务的 Java 1.6 Maven 项目到 Tomcat Liferay 6.2 GA6 无法访问端点
- node.js - PM2 说可执行文件“出错”但没有正确重新启动它;仍需手动重启