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 变量类型及命名规则介绍
Jun 08 Python
在Python中操作字典之update()方法的使用
May 22 Python
python-docx修改已存在的Word文档的表格的字体格式方法
May 08 Python
对dataframe进行列相加,行相加的实例
Jun 08 Python
python解析xml简单示例
Jun 21 Python
PyQt5通信机制 信号与槽详解
Aug 07 Python
python3.5 cv2 获取视频特定帧生成jpg图片
Aug 28 Python
Numpy一维线性插值函数的用法
Apr 22 Python
python redis存入字典序列化存储教程
Jul 16 Python
python实现学生信息管理系统源码
Feb 22 Python
python超详细实现完整学生成绩管理系统
Mar 17 Python
Python之matplotlib绘制饼图
Apr 13 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
php foreach 参数强制类型转换的问题
2010/12/10 PHP
PHP 防注入函数(格式化数据)
2011/08/08 PHP
ajax无刷新动态调用股票信息(改良版)
2008/11/01 Javascript
jQuery 图像裁剪插件Jcrop的简单使用
2009/05/22 Javascript
为javascript添加String.Format方法
2020/08/11 Javascript
js工具方法弹出蒙版
2013/05/08 Javascript
jquery提交form表单简单示例分享
2014/03/03 Javascript
javascript实现dom元素可拖动
2016/03/21 Javascript
JS简单设置下拉选择框默认值的方法
2016/08/20 Javascript
JS+HTML5实现的前端购物车功能插件实例【附demo源码下载】
2016/10/17 Javascript
javascript 实现动态侧边栏实例详解
2016/11/11 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
2017/05/26 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
2017/12/25 Javascript
JavaScript学习笔记之DOM操作实例分析
2019/01/08 Javascript
纯javascript实现选择框的全选与反选功能
2019/04/08 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
2019/12/10 Javascript
Vue初始化中的选项合并之initInternalComponent详解
2020/06/11 Javascript
利用Python和OpenCV库将URL转换为OpenCV格式的方法
2015/03/27 Python
连接Python程序与MySQL的教程
2015/04/29 Python
python实现word 2007文档转换为pdf文件
2018/03/15 Python
详解Python安装tesserocr遇到的各种问题及解决办法
2019/03/07 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
2020/04/03 Python
Django URL参数Template反向解析
2020/11/24 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
完美解决Pycharm中matplotlib画图中文乱码问题
2021/01/11 Python
CSS3实现超慢速移动动画效果非常流畅无卡顿
2014/06/15 HTML / CSS
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
Sport-Thieme荷兰:购买体育用品
2019/08/25 全球购物
英国No.1体育用品零售商:SportsDirect.com
2019/10/16 全球购物
有影响力的人、名人和艺术家的官方商品:Represent
2019/11/26 全球购物
高中毕业生自我鉴定例文
2013/12/29 职场文书
保安公司服务承诺书
2014/05/28 职场文书
大学生就业推荐表自我评价
2015/03/02 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书