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