美文网首页
python 判断两个字典相同的元素后刪除字典中特定的值[{},

python 判断两个字典相同的元素后刪除字典中特定的值[{},

作者: 程序里的小仙女 | 来源:发表于2020-07-10 10:48 被阅读0次
    from pprint import pprint
    from copy import deepcopy
    
    tx1 = {"_id":"a82bcbade7f2ab98a0b9208dae2e5fa6b44f5e37f8403ec8f74ca63c4d6189d2",
        "blocknumber":80002,
        "blocktime":1284615935,
        "vin":[{"id":"11","value":50.0,"address":["1LgsbKRKTcw7gYohUwntSUh6rtEWShxSH8"]},
        {"id":"232","value":530.0,"address":["qwe234"]},
         {"id":"22","value":50.0,"address":["qwerty123"]},
         {"id":"22","value":50.0,"address":["qwerty12323455"]},
        ],
        "vout":[{"id":"0","value":50.0,"address":["1LgsbKRKTcw7gYohUwntSUh6rtEWShxSH8"]},
        {"id":"22","value":50.0,"address":["qwe123"]},
        {"id":"232","value":530.0,"address":["zuuEcUSsBjL7s"]},
        {"id":"232","value":530.0,"address":["eeeeeeee"]},
        {"id":"232","value":530.0,"address":["qwerty12323455"]}
        ]}
    
    
    
    # pprint(tx)
    
    
    def get_outputList(tx):
        vout=tx["vout"]  # list
        vin=tx["vin"]    # list
        for vi in vin:
            
            if vi['id'] == 'coinbase':
                for vout_data in vout:
                    if vout_data["address"] != "":
                        dic={
                            "address": vout_data["address"][0],
                            "value": vout_data["value"]
                        }
                        # outputList.append(dic)
                        pprint(dic)
                        return dic
            else:
                # 判断vin中的地址是否在vout中出现,若出现在vout中,则删除掉vout中的这笔交易
                vout1 =deepcopy(vout)
                for vi in vin:
                    for vo in vout1:
                        if vi["address"] == vo["address"]:
                            vout1.remove(vo)
    
                outputList=[]
                for vo1 in vout1:
                    output = {
                    "address":vo1["address"][0],
                    "value":vo1["value"]
                    }
                    outputList.append(output)
    
    
    
    
        pprint(outputList)
        return outputList
                # outputList.append(vout)
        # pprint(outputList)
    
    
    if __name__ == '__main__':
        tx = {'_id': '0ca067b886f20efcf9c4cdaa4317f68bb39e0d3adf04eba5ddc025a8ef35119d',
             'blocknumber': 77913,
             'blocktime': 1283548095,
             'vin': [{'address': [''], 'id': 'coinbase', 'value': 0.0}],
             'vout': [{'address': ['1BwaFhJVVAwzv7zWyfyxfW9QKBdmruYUB4'],
                       'id': '0',
                       'value': 50.0}]}
    
    
    
        get_outputList(tx1)
    

    相关文章

      网友评论

          本文标题:python 判断两个字典相同的元素后刪除字典中特定的值[{},

          本文链接:https://www.haomeiwen.com/subject/jrvpcktx.html