You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量修改嵌套字典中所有产品的stock值?代码实现疑问解析

如何批量修改嵌套字典中所有产品的库存字段?

嗨,我来帮你搞定这个问题~你已经选对了用for循环的思路,只是循环里的小细节没捋清楚,咱们一步步来修正:

首先要注意,input()获取到的是字符串类型,而库存是数字(整数/浮点数),所以得先把它转换成合适的数值类型,不然存进去的字符串会影响后续的数值计算。

然后看你的循环:for x in products:这里的x其实是字典里的每个产品键(比如"apple"、"banana"),你需要用这个键定位到对应的子字典,再修改stock字段。

正确写法示例

products = { "apple": {"price": 3.5, "stock": 134}, "banana": {"price": 6.82, "stock": 52}, "cake": {"price": 23, "stock": 5} }
newstock = input("Enter amount to set :")
# 转换为整数,需要浮点数的话可以换成float()
newstock_num = int(newstock)

# 方式1:遍历产品键
for product_name in products:
    products[product_name]["stock"] = newstock_num

# 方式2:直接遍历子字典(更简洁)
# for product in products.values():
#     product["stock"] = newstock_num

# 验证修改结果
print(products)

两种方式都能实现批量修改,第二种用products.values()直接拿到每个产品的子字典,不用再通过键去取值,写起来更省心~

内容的提问来源于stack exchange,提问作者Goh Kian Seen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 15:23:12