脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python中的字典合并与列表合并技巧

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

2022-12-21 12:04蚂蚁ailing Python

这篇文章主要介绍了Python中的字典合并与列表合并技巧,下文围绕主题展开详细的内容介绍,具有一的的参考价值,需要的小伙伴可以参考一下

前言

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

1 合并字典

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

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

且合并后的结果为:

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

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

具体代码如下:

?
1
2
3
4
5
6
7
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})

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

?
1
result = Counter(dict1) + Counter(dict2)

2 合并列表

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

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

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

合并为:

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

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

?
1
2
3
4
5
from collections import Counter
counter = Counter()
for item in [a, b]:
     counter.update(item)
print(counter)

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

到此这篇关于Python中的字典合并与列表合并技巧的文章就介绍到这了,更多相关Python 字典列表合并内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/123456feng/p/16198894.html

延伸 · 阅读

精彩推荐
  • Pythonpython中的__slots__使用示例

    python中的__slots__使用示例

    这篇文章主要介绍了python中的__slots__使用示例,__slots__用来限制class能添加的属性,需要的朋友可以参考下 ...

    python教程网4272019-11-21
  • Python如何用python绘制雷达图

    如何用python绘制雷达图

    这篇文章主要介绍了如何用python绘制雷达图,帮助大家更好的利用python进行数据分析,感兴趣的朋友可以了解下...

    小dull鸟12822021-10-19
  • PythonPython排序搜索基本算法之堆排序实例详解

    Python排序搜索基本算法之堆排序实例详解

    这篇文章主要介绍了Python排序搜索基本算法之堆排序,结合实例形式详细分析了堆排序的原理、Python实现方法及相关操作注意事项,需要的朋友可以参考下...

    littlethunder3562020-12-23
  • PythonPython 绘制桑基图全面解析

    Python 绘制桑基图全面解析

    桑基图,即桑基能量分流图,也叫桑基能量平衡图。它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于能源、材料成分...

    执念斩长河10292022-01-10
  • PythonPython虚拟环境的创建和使用详解

    Python虚拟环境的创建和使用详解

    这篇文章主要给大家介绍了关于Python虚拟环境的创建和使用的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,...

    300%努力努力再努力15802020-09-08
  • PythonPython的几个高级语法概念浅析(lambda表达式闭包装饰器)

    Python的几个高级语法概念浅析(lambda表达式闭包装饰器)

    本文主要记录自己对几个高级语法概念的理解:匿名函数、lambda表达式、闭包、装饰器。这几个概念并非Python特有,但本文只限于用Python做说明...

    Python教程网2342020-08-24
  • PythonPython编程flask使用页面模版的方法

    Python编程flask使用页面模版的方法

    今天小编就为大家分享一篇关于Python编程flask使用页面模版的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随...

    liumiaocn7182021-05-09
  • PythonPython多进程fork()函数详解

    Python多进程fork()函数详解

    今天小编就为大家分享一篇关于Python多进程fork()函数详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看...

    世界看我我看世界10192021-06-01