python实现list元素按关键字相加减的方法示例


Posted in Python onJune 09, 2017

本文实例讲述了python实现list元素按关键字相加减的方法。分享给大家供大家参考,具体如下:

Python list中的元素按关键字相加或相减:

# coding=utf-8
# 两个list按关键字相加或相减
def ListAdd(list1, list2, bAdd = True):
  if bAdd == False:
    list2 = [(k, -v) for (k, v) in list2]
  d = {}
  list0 = list1 + list2
  for (k, v) in list0:
    d.setdefault(k, 0)   # 设置字典元素初始值
    d[k] += v        # 对字典中的元素按关键字相加
  ret = list(d.items())    # 字典转换成list
  ret = sorted(ret)      # 对list排序
  return ret
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 相关文章推荐
python中cPickle用法例子分享
Jan 03 Python
python服务器端收发请求的实现代码
Sep 29 Python
Python调用SQLPlus来操作和解析Oracle数据库的方法
Apr 09 Python
Python实现自动添加脚本头信息的示例代码
Sep 02 Python
Python随机生成均匀分布在单位圆内的点代码示例
Nov 13 Python
wxPython的安装图文教程(Windows)
Dec 28 Python
Python读取MRI并显示为灰度图像实例代码
Jan 03 Python
pandas进行时间数据的转换和计算时间差并提取年月日
Jul 06 Python
详解PyQt5信号与槽的几种高级玩法
Mar 24 Python
有关pycharm登录github时有的时候会报错connection reset的问题
Sep 15 Python
python判断元素是否存在的实例方法
Sep 24 Python
Python实现归一化算法详情
Mar 18 Python
Python利用QQ邮箱发送邮件的实现方法(分享)
Jun 09 #Python
老生常谈python的私有公有属性(必看篇)
Jun 09 #Python
Python 自动化表单提交实例代码
Jun 08 #Python
Python错误: SyntaxError: Non-ASCII character解决办法
Jun 08 #Python
Python实现网站注册验证码生成类
Jun 08 #Python
Python实现多线程抓取网页功能实例详解
Jun 08 #Python
Python中with及contextlib的用法详解
Jun 08 #Python
You might like
利用js调用后台php进行数据处理原码
2006/10/09 PHP
thinkphp循环结构用法实例
2014/11/24 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
js如何判断不同系统的浏览器类型
2013/10/28 Javascript
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
2013/12/29 Javascript
javascript学习笔记之10个原生技巧
2014/05/21 Javascript
基于javascript实现窗口抖动效果
2016/01/03 Javascript
基于jquery实现图片上传本地预览功能
2016/01/08 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
浅谈angular.js跨域post解决方案
2017/08/30 Javascript
JS实现手写parseInt的方法示例
2017/09/24 Javascript
浅谈webpack下的AOP式无侵入注入
2017/11/12 Javascript
python paramiko实现ssh远程访问的方法
2013/12/03 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
2016/07/02 Python
python列表生成式与列表生成器的使用
2018/02/23 Python
PyQt5实现下载进度条效果
2018/04/19 Python
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
python对常见数据类型的遍历解析
2019/08/27 Python
Python爬虫新手入门之初学lxml库
2020/12/20 Python
HTML5探秘:用requestAnimationFrame优化Web动画
2018/06/03 HTML / CSS
HTML5 drag和drop具体使用详解
2021/01/18 HTML / CSS
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
超级搞笑检讨书
2014/01/15 职场文书
还款承诺书范文
2014/05/20 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
平安家庭事迹材料
2014/12/20 职场文书
车队安全员岗位职责
2015/02/15 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
戒赌保证书
2015/05/11 职场文书
付款证明模板
2015/06/19 职场文书
车间安全生产管理制度
2015/08/06 职场文书
mysql外连接与内连接查询的不同之处
2021/06/03 MySQL
mysql 如何获取两个集合的交集/差集/并集
2021/06/08 MySQL
Nginx使用Lua模块实现WAF的原理解析
2021/09/04 Servers
JavaScript原型链详解
2021/11/07 Javascript