新聞中心
大家好,我是皮皮。

一、前言
前幾天在Python最強(qiáng)王者交流群【群除我佬】問(wèn)了一個(gè)Python基礎(chǔ)的問(wèn)題,這里拿出來(lái)給大家分享下。
二、實(shí)現(xiàn)過(guò)程
這里一共整理了5個(gè)方法,一起來(lái)看看吧!
方法一:for循環(huán)
使用for循環(huán)的確可行,但是感覺(jué)應(yīng)該有其他更好的方法。詳情見(jiàn)第一部分的截圖。
方法二:解包
這里【吳超建】給了一個(gè)代碼,如下圖所示:
通過(guò)不斷的解包,也是可以的,還好這里只有3個(gè)元素,如果有上百個(gè)元素的話(huà),這么寫(xiě),容易崩潰。
方法三:functools
后來(lái)【DIY】提供了一個(gè)方法,如下圖所示:
代碼如下:
import functools
a = [{'a': 1}, {'b': 2}, {'c': 3}]
b = functools.reduce(lambda x, y: dict(**x, **y), a)
print(b)
方法四:map
后來(lái)【隔壁山楂】也給了一個(gè)代碼,使用map,輕易搞定,代碼如下所示:
方法五:chainMap
最后這個(gè)方法是【~上善居士~ *郭百川】提供的,要想合并多個(gè)字典),可以考慮用chainMap,建立多個(gè)字典合并的一個(gè)映射,一般用于數(shù)據(jù)查找,缺點(diǎn)就是鍵值查找只會(huì)從第一個(gè)字典開(kāi)始找,第一個(gè)沒(méi)有才找第二個(gè)。你這個(gè)列表中每個(gè)字典都只有一個(gè)鍵值對(duì)而且無(wú)重復(fù),直接下面醬紫也可以。
代碼如下:
一般要迭代生成新序列,首先應(yīng)該想到的是各種推導(dǎo)式,然后才是map,推導(dǎo)式比map速度快一點(diǎn)點(diǎn),這在大佬的書(shū)里有例子實(shí)證。
三、總結(jié)
大家好,我是皮皮。這篇文章主要盤(pán)點(diǎn)了一個(gè)Python處理字典的問(wèn)題,文中針對(duì)該問(wèn)題,給出了具體的解析和代碼實(shí)現(xiàn),一共5個(gè)方法,幫助粉絲順利解決了問(wèn)題。
網(wǎng)站標(biāo)題:列表中的元素都是字典,目的是把所有元素合成為一個(gè)字典,怎么破?
瀏覽路徑:http://www.dlmjj.cn/article/cdjgogd.html


咨詢(xún)
建站咨詢(xún)
