python实现list元素按关键字相加减的方法示例
本文实例讲述了python实现list元素按关键字相加减的方法。分享给大家供大家参考,具体如下:
Pythonlist中的元素按关键字相加或相减:
#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:\Program\Python>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)]
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python列表(list)操作技巧总结》、《Python数据结构与算法教程》、《PythonSocket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。