字典嵌套问题

字典嵌套问题

如何获得嵌套字典的内部value

#变量 = 字典名[外层键名变量].get('内键名')
item_price = items[shopping_lst].get('商品价格')

如何更改嵌套字典内部key 的value值

#变量 = 字典名[要查找的key的key].get('内部key名称')
item_name = items[shopping_lst].get('商品名称')
bought[item_name] = {'price':item_price,'count':item_count}

如何更改嵌套字典内部key 的value值,使用内部value值与新的值相加后存储和值

可以写一个封装函数提取出字典中的原value值赋值给一个变量,再把新旧值相加的和值赋值给字典的key

####合并多次购买的同一物品
def change_key(bought,key):
    for key_search,info in bought.items():
        if isinstance(info,dict):
            change_key(info,key)
        if key_search == key:
            value = bought[key_search].get('count')
            return value
         #返回旧的购买数量,在pay中用旧的和相加
old_count = change_key(bought,item_name)
         #change_key返回一个旧的购买数量
bought[item_name] = {'price': item_price, 'count': int(item_count)+int(old_count)}
        #如果相同物品多次购买,新旧数量 合并

以上是个人的一些小经验,如有问题欢迎指出。

你可能感兴趣的:(python,python)