Python中的字典合并与列表合并技巧

作者:蚂蚁ailing 时间:2021-01-02 06:07:35 

前言

又到了每日分享Python小技巧的时候了,今天给大家分享的是Python中两种常见的数据类型合并方法。

1 合并字典

在某些场景下,我们需要对两个(多个)字典进行合并。例如需要将如下两个字典进行合并:

dict1 = {"a": 2, "b": 3, "c": 5}
dict2 = {"a": 1, "c": 3, "d": 8}

且合并后的结果为:

{'c': 8, 'd': 8, 'a': 3, 'b': 3}

那么应该如何操作呢?由于两个字典并不能够直接进行相加,因此首先需要将各个字典转换为Counter类,然后再进行相加。

具体代码如下:

from collections import Counter
dict1 = {"a": 2, "b": 3, "c": 5}
dict2 = {"a": 1, "c": 3, "d": 8}
result = Counter({})
for item in [dict1,dict2]:
    result += Counter(item)
print(result) # Counter({'c': 8, 'd': 8, 'a': 3, 'b': 3})

当然,如果只是两个字典相加,那么只用一行代码即可:

result = Counter(dict1) + Counter(dict2)

2 合并列表

在某些场景下,我们需要对两个(多个)列表进行合并,从而得到一个包含有各个元素出现频率的字典

例如需要将如下两个列表:

a = ["天", "之", "道", "损", "有", "余", "而", "补", "不", "足"]
b = ["人", "之", "道", "损", "不", "足", "而", "补", "有", "余"]

合并为:

Counter({'之': 2, '道': 2, '损': 2, '有': 2, '余': 2, '而': 2, '补': 2, '不': 2, '足': 2, '天': 1, '人': 1})

那么只需要通过如下代码即可实现:

from collections import Counter
counter = Counter()
for item in [a, b]:
    counter.update(item)
print(counter)

当然,除了在构建词表的时候可以使用这种方法,在对列表进行重复元素查找或者统计时同样可以使用本方法。

来源:https://www.cnblogs.com/123456feng/p/16198894.html

标签:Python,字典,列表,合并,技巧
0
投稿

猜你喜欢

  • 使用Python检测文章抄袭及去重算法原理解析

    2023-04-26 12:00:54
  • Python基于百度API识别并提取图片中文字

    2023-02-06 13:51:25
  • wiondws XP下安装MySQL图文教程

    2007-06-15 09:29:00
  • 就 CSS3 向 Eric Meyer 请教的 6 个问题

    2008-12-29 13:52:00
  • 用Python实现群发邮件

    2023-10-30 20:04:36
  • Oracle平台应用数据库系统的设计与开发

    2010-07-21 13:03:00
  • Python中的字符串切片(截取字符串)的详解

    2023-07-23 20:37:59
  • Python采集王者最低战力信息实战示例

    2021-09-29 17:54:13
  • 如何在页面中对不同的数据进行相同的处理?

    2010-06-26 12:30:00
  • 前端来看看 maxthon bugs

    2008-09-23 18:35:00
  • Python 读取WAV音频文件 画频谱的实例

    2021-11-27 02:23:43
  • 基于Python实现有趣的象棋游戏

    2022-06-11 20:37:15
  • Python 恐龙跑跑小游戏实现流程

    2021-10-23 19:42:59
  • python切片复制列表的知识点详解

    2023-08-06 05:31:35
  • pycharm指定python路径过程详解

    2021-04-27 13:25:13
  • python程序需要编译吗

    2022-08-18 12:57:13
  • oracle 查询表名以及表的列名

    2009-07-26 09:33:00
  • Python 调用 C++ 传递numpy 数据详情

    2021-05-12 20:00:39
  • 用python实现将数组元素按从小到大的顺序排列方法

    2022-01-07 22:03:25
  • PHP实现PDF转图片的方法详解

    2023-05-26 19:59:51
  • asp之家 网络编程 m.aspxhome.com