python三组字典两两匹配对应Value

示例1

priceinfo== {82620534: 41900, 82620542: 39900, 82620544: 39900, 82620557: 45900, 82620559: 40900, 82620560: 40900, 82620565: 40900, 82620567: 38900, 82620589: 39900, 82620607: 41900, 82620608: 42900, 82620612: 40900, 82620613: 43900, 82620618: 39900, 82620626: 38900, 82620627: 37900, 82620631: 40900}
skus_info= [{'skuId': 82620534, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164975}]}, {'skuId': 82620542, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164974}]}, {'skuId': 82620544, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164976}]}, {'skuId': 82620557, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164977}]}, {'skuId': 82620559, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164978}]}, {'skuId': 82620560, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164979}]}, {'skuId': 82620565, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164980}]}, {'skuId': 82620567, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164981}]}, {'skuId': 82620589, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164982}]}, {'skuId': 82620607, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164983}]}, {'skuId': 82620608, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164984}]}, {'skuId': 82620612, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164985}]}, {'skuId': 82620613, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164986}]}, {'skuId': 82620618, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164987}]}, {'skuId': 82620626, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164988}]}, {'skuId': 82620627, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164989}]}, {'skuId': 82620631, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164990}]}, {'skuId': 82620641, 'spuId': 13771, 'authPrice': 56900, 'status': 1, 'properties': [{'level': 1, 'propertyValueId': 164991}]}]
sku_dict== {82620534: 164975, 82620542: 164974, 82620544: 164976, 82620557: 164977, 82620559: 164978, 82620560: 164979, 82620565: 164980, 82620567: 164981, 82620589: 164982, 82620607: 164983, 82620608: 164984, 82620612: 164985, 82620613: 164986, 82620618: 164987, 82620626: 164988, 82620627: 164989, 82620631: 164990, 82620641: 164991}
sale_info= [{'propertyId': 4046, 'name': '尺码', 'value': '35', 'propertyValueId': 164975, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 0, 'definitionId': 6}, {'propertyId': 4046, 'name': '尺码', 'value': '36', 'propertyValueId': 164974, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 1, 'definitionId': 6}, {'propertyId': 4046, 'name': '尺码', 'value': '36.5', 'propertyValueId': 164976, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 2, 'definitionId': 6}, {'propertyId': 4046, 'name': '尺码', 'value': '37', 'propertyValueId': 164977, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 3, 'definitionId': 6}, {'propertyId': 4046, 'name': '尺码', 'value': '37.5', 'propertyValueId': 164978, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 4, 'definitionId': 6}, {'propertyId': 4046, 'name': '尺码', 'value': '38', 'propertyValueId': 164979, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 5, 'definitionId': 6}, {'propertyId': 4046, 'name': '尺码', 'value': '39', 'propertyValueId': 164980, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 6, 'definitionId': 6}, {'propertyId': 4046, 'name': '尺码', 'value': '39.5', 'propertyValueId': 164981, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 7, 'definitionId': 6}, {'propertyId': 4046, 'name': '尺码', 'value': '40', 'propertyValueId': 164982, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 8, 'definitionId': 6}, {'propertyId': 4046, 'name': '尺码', 'value': '41', 'propertyValueId': 164983, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 9, 'definitionId': 6}, {'propertyId': 4046, 'name': '尺码', 'value': '41.5', 'propertyValueId': 164984, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 10, 'definitionId': 6}, {'propertyId': 4046, 'name': '尺码', 'value': '42', 'propertyValueId': 164985, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 11, 'definitionId': 6}, {'propertyId': 4046, 'name': '尺码', 'value': '42.5', 'propertyValueId': 164986, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 12, 'definitionId': 6}, {'propertyId': 4046, 'name': '尺码', 'value': '43', 'propertyValueId': 164987, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 13, 'definitionId': 6}, {'propertyId': 4046, 'name': '尺码', 'value': '44', 'propertyValueId': 164988, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 14, 'definitionId': 6}, {'propertyId': 4046, 'name': '尺码', 'value': '44.5', 'propertyValueId': 164989, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 15, 'definitionId': 6}, {'propertyId': 4046, 'name': '尺码', 'value': '45', 'propertyValueId': 164990, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 16, 'definitionId': 6}, {'propertyId': 4046, 'name': '尺码', 'value': '46', 'propertyValueId': 164991, 'level': 1, 'customValue': '', 'showValue': 1, 'sort': 17, 'definitionId': 6}]
ValueId== 164975
propId = result_detail.get("data").get("item").get("saleInventoryNo")
                propinfo = {
                    "propId":propId,  # sku属性 数字id @
                    "propName": "size",  # sku属性 中文
                    "values": []
                }
                sku_dict= {}
                skus_info = result_detail.get("data").get("skus")  # 获取商品skuId列表
                print("skus_info=",skus_info)
                for skus in skus_info:
                    skuId = skus.get("skuId")
                    properties = skus.get("properties")[0].get("propertyValueId")
                    sku_dict[skuId] = properties
                print("sku_dict==", sku_dict)
                # 价格dict
                priceinfo = self.get_shop_Price(details_info)
                # print("priceinfo", priceinfo)
                sale_info = result_detail.get("data").get("saleProperties").get("list") # 获取商品尺寸列表
                print("sale_info=",sale_info)
                for sale in sale_info:
                    size = sale.get("value")
                    sizename = sale.get("name")
                    ValueId = sale.get("propertyValueId")
                    print("ValueId==", ValueId)
                    propertyId = sale.get("propertyId")
                    skuInfo={
                        "proPrice":None,
                        "price": None,  # 售价
                        "skuId": None,  # sku属性数字i d @
                        "pv":str(propertyId) + ":"+ str(ValueId), #//skuid对应的属性名和属性值组合p:v;p:v
                        "pvName": sizename + ":"+ str(size), #//sku名称组合 中文 颜色:白色 等
                        "quantity":None, # 库存
                        "isSale": True,  # 是否在售
                    }
                    for k,v in sku_dict.items():
                        if v==ValueId:
                            skuInfo["skuId"] = k
                            break
                    for k,v in priceinfo.items():
                        if k==skuInfo["skuId"]:
                            skuInfo["price"] = v
                            skuInfo["proPrice"] = v
                            break

                    items["skuInfoList"].append(skuInfo)
                    # sku组合
                    values_info = {
                        "imgUrl": None,  # sku属性 图片
                        "name": size,  # sku属性 中文
                        "valueId": ValueId,  # sku属性 数字id @
                    }

                    propinfo["values"].append(values_info)

                items["skuProps"].append(propinfo)
                #printDict(items)
                return items

运行结果:
{
"proPrice":39900,
"price":39900,
"skuId":82620544,
"pv":"4046:164976",
"pvName":"尺码:36.5",
"quantity":null,
"isSale":true
},

posted @ 2020-06-03 01:03  莫贞俊晗  阅读(298)  评论(0编辑  收藏  举报