zoukankan      html  css  js  c++  java
  • 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
    },

  • 相关阅读:
    Nginx源码编译安装与负载均衡配置实践
    jquery_file_upload in Rails(ajax实现多张图片上传)
    Nokogiri相关网站
    rails中 url和path的区别
    Unique Paths
    Kinect for windows的脸部识别
    .Net给图片添加水印效果
    大型高性能ASP.NET系统架构设计
    如何来提高网站的访问速度,其中包括服务器的配置建议,asp.NET代码的编写及前端页面的优化等等
    URL中#号(井号)的作用
  • 原文地址:https://www.cnblogs.com/gqv2009/p/13034919.html
Copyright © 2011-2022 走看看