本文实例讲述了python实现list元素按关键字相加减的方法。分享给大家供大家参考,具体如下:
Python list中的元素按关键字相加或相减:
代码如下 | 复制代码 |
# coding=utf-8 # 两个list按关键字相加或相减 defListAdd(list1, list2, bAdd=True): ifbAdd==False: list2=[(k,-v)for(k, v)inlist2] d={} list0=list1+list2 for(k, v)inlist0: d.setdefault(k,0) # 设置字典元素初始值 d[k]+=v # 对字典中的元素按关键字相加 ret=list(d.items()) # 字典转换成list ret=sorted(ret) # 对list排序 returnret if__name__=='__main__': a=[("s1",10), ("s2",13), ("s3",25), ("s7",30)] b=[("s1",22), ("s3",16), ("s10",8)] print("a=", a) print("b=", b) ret1=ListAdd(a, b) # ret1 = a + b print("ret1=", ret1) ret2=ListAdd(a, b,False)# ret2 = a - b print("ret2=", ret2) |
运行:
代码如下 | 复制代码 |
E:ProgramPython>del.py a=[('s1',10), ('s2',13), ('s3',25), ('s7',30)] b=[('s1',22), ('s3',16), ('s10',8)] ret1=[('s1',32), ('s10',8), ('s2',13), ('s3',41), ('s7',30)] ret2=[('s1',-12), ('s10',-8), ('s2',13), ('s3',9), ('s7',30)] |
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级