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