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

发布时间 - 2026-01-11 01:48:13    点击率:

本文实例讲述了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列表(list)操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。


# python  # list  # 元素  # 关键字  # 相加减  # Python实现两个list对应元素相减操作示例  # Python 列表(List) 的三种遍历方法实例 详解  # Python 中 list 的各项操作技巧  # python list排序的两种方法及实例讲解  # python获取list下标及其值的简单方法  # 如何将python中的List转化成dictionary  # Python-嵌套列表list的全面解析  # 详解Python list 与 NumPy.ndarry 切片之间的对比  # 操作技巧  # 进阶  # 相关内容  # 相减  # 感兴趣  # 数据结构  # 给大家  # 转换成  # 更多关于  # 所述  # 程序设计  # 使用技巧  # 编程技巧  # 讲述了  # ListAdd  # utf  # def  # bAdd  # setdefault  # ret 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 大连网站制作公司哪家好一点,大连买房网站哪个好?  如何在 React 中条件性地遍历数组并渲染元素  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  EditPlus中的正则表达式 实战(2)  JavaScript常见的五种数组去重的方式  BootStrap整体框架之基础布局组件  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  Angular 表单中正确绑定输入值以确保提交与验证正常工作  EditPlus中的正则表达式 实战(4)  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  如何快速搭建高效WAP手机网站?  如何用景安虚拟主机手机版绑定域名建站?  利用JavaScript实现拖拽改变元素大小  如何快速查询域名建站关键信息?  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  Thinkphp 中 distinct 的用法解析  如何为不同团队 ID 动态生成多个独立按钮  网页设计与网站制作内容,怎样注册网站?  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  Laravel如何实现用户注册和登录?(Auth脚手架指南)  html5的keygen标签为什么废弃_替代方案说明【解答】  魔方云NAT建站如何实现端口转发?  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  PHP 500报错的快速解决方法  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  英语简历制作免费网站推荐,如何将简历翻译成英文?  详解CentOS6.5 安装 MySQL5.1.71的方法  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  如何快速搭建FTP站点实现文件共享?  如何在搬瓦工VPS快速搭建网站?  深圳网站制作培训,深圳哪些招聘网站比较好?  LinuxCD持续部署教程_自动发布与回滚机制  零基础网站服务器架设实战:轻量应用与域名解析配置指南  如何打造高效商业网站?建站目的决定转化率  Laravel怎么调用外部API_Laravel Http Client客户端使用  深入理解Android中的xmlns:tools属性  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  如何在阿里云服务器自主搭建网站?  青岛网站建设如何选择本地服务器?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?