当前位置: 首页 > 编程笔记 >

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

邢良才
2023-03-14
本文向大家介绍python实现list元素按关键字相加减的方法示例,包括了python实现list元素按关键字相加减的方法示例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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对应元素相减操作。分享给大家供大家参考,具体如下: 两个list的对应元素操作,这里以相减为例: 运行结果: 更多关于Python相关内容感兴趣的读者可查看本站专题:《Python列表(list)操

  • 本文向大家介绍Python 实现数组相减示例,包括了Python 实现数组相减示例的使用技巧和注意事项,需要的朋友参考一下 问题描述: 有2个数组如下 第1题:从数组a中删除所有在数组b中出现过的元素。对于上例来说,a删除结束应该等于 [5, 6, 7]. 第2题:实现 c = a - b , c应该等于[3, 4, 5, 6, 7]. 先看第1题: 常规的思维大致会这么写代码: 这么写是错误的,

  • 本文向大家介绍python实现扫描日志关键字的示例,包括了python实现扫描日志关键字的示例的使用技巧和注意事项,需要的朋友参考一下 我们在压力测试过程会收集到很多log,怎样快速从中找到有用信息呢?让python脚本帮我们做这部分工作吧! 废话不说,上代码 环境:win10 + python2.7.14 countTime.py 关键字及被扫描的日志路径信息,记录到文件中,以逗号+空格隔开,如

  • 本文向大家介绍python随机取list中的元素方法,包括了python随机取list中的元素方法的使用技巧和注意事项,需要的朋友参考一下 随机取 list 中的元素 random.sample 以上这篇python随机取list中的元素方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 主要内容:Python append()方法添加元素,Python extend()方法添加元素,Python insert()方法插入元素实际开发中,经常需要对 Python 列表进行更新,包括向列表中添加元素、修改表中元素以及删除元素。本节先来学习如何向列表中添加元素。 《 Python序列》一节告诉我们,使用 运算符可以将多个序列连接起来;列表是序列的一种,所以也可以使用 进行连接,这样就相当于在第一个列表的末尾添加了另一个列表。 请看下面的演示: 运行结果: language = ['P

  • 我有一个数组[25,-6,14,7,100]。预期输出为 基本上,循环时下一个元素被减/加到当前元素中。求和和乘积很容易,因为我只需要做 它在线程“main”java.lang.ArrayIndexOutOfBoundsException中给出了