列表中的元素都是字典,目的是把所有元素合成为一个字典,怎么破?

开发 前端
一般要迭代生成新序列,首先应该想到的是各种推导式,然后才是map,推导式比map速度快一点点,这在大佬的书里有例子实证。

大家好,我是皮皮。

一、前言

前几天在Python最强王者交流群【群除我佬】问了一个Python基础的问题,这里拿出来给大家分享下。

图片

二、实现过程

这里一共整理了5个方法,一起来看看吧!

方法一:for循环

使用for循环的确可行,但是感觉应该有其他更好的方法。详情见第一部分的截图。

方法二:解包

这里【吴超建】给了一个代码,如下图所示:

图片

通过不断的解包,也是可以的,还好这里只有3个元素,如果有上百个元素的话,这么写,容易崩溃。

图片

方法三:functools

后来【DIY】提供了一个方法,如下图所示:

图片

代码如下:

import functools

a = [{'a': 1}, {'b': 2}, {'c': 3}]

b = functools.reduce(lambda x, y: dict(**x, **y), a)
print(b)

图片

方法四:map

后来【隔壁😼山楂】也给了一个代码,使用map,轻易搞定,代码如下所示:

图片

方法五:chainMap

最后这个方法是【~上善居士~ *郭百川】提供的,要想合并多个字典),可以考虑用chainMap,建立多个字典合并的一个映射,一般用于数据查找,缺点就是键值查找只会从第一个字典开始找,第一个没有才找第二个。你这个列表中每个字典都只有一个键值对而且无重复,直接下面酱紫也可以。

图片

代码如下:

图片

一般要迭代生成新序列,首先应该想到的是各种推导式,然后才是map,推导式比map速度快一点点,这在大佬的书里有例子实证。

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python处理字典的问题,文中针对该问题,给出了具体的解析和代码实现,一共5个方法,帮助粉丝顺利解决了问题。

责任编辑:武晓燕 来源: Python爬虫与数据挖掘
相关推荐

2023-06-01 07:49:51

2024-03-18 09:50:18

Selenium元素Python

2010-03-15 16:54:11

Python字典

2022-10-28 09:10:40

数据结构字典树

2023-09-19 23:21:48

Python列表

2020-09-29 07:24:14

Python字典数据

2023-04-25 15:46:51

Python字符串

2018-03-16 15:30:45

数据库MySQL数据字典

2021-07-26 10:58:07

Chromebook谷歌更新

2022-12-03 18:21:13

列表Python元素

2022-11-24 08:01:57

bash脚本字符串

2023-10-10 09:13:15

Python数据的操作转换

2013-05-21 17:42:39

打车AppO2O

2021-02-03 14:40:22

Python字典语言

2011-08-15 13:48:10

sq中文man

2011-08-15 14:53:41

sq中文man

2021-08-26 07:43:44

vectorerase错误

2021-11-02 14:54:41

排序数组元素

2020-09-18 14:23:50

字符

2021-12-13 11:31:36

排序数组数据结构算法
点赞
收藏

51CTO技术栈公众号