如何批量修改嵌套字典中所有产品的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
相关产品推荐
相关产品推荐

