91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python合并兩個字典的方法

發布時間:2020-09-23 16:35:56 來源:億速云 閱讀:268 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關python合并兩個字典的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Python中將兩個字典進行合并操作,是一個比較常見的問題。本文將介紹幾種實現兩個字典合并的方案,并對其進行比較。

對于這個問題,比較直觀的想法是將兩個字典做相加操作,賦值給結果字典,其代碼為:

python兩個字典合并(方法1)

dictMerged1 = dict( dict1.items() + dict2.items() )

然而,該方法合并時所用時間較長,效率更高的代碼為:

python兩個字典合并(方法2)

dictMerged2 = dict( dict1, **dict2 )

這種方法使用的是dict()工廠方法(Python2.2以上版本)。如果輸入參數是另一個字典(此處為dict1),則調用該工廠方法時會從dict1中復制內容生成新的字典。該工廠方法從Python2.3版本開始,允許接受字典或關鍵字參數字典進行調用。

但應當注意,對于這種調用方式,dict()最多只接受一個參數(或者說是一組name=value的可變長參數),而不會再接受另一個字典。因此直觀上的簡單使用dict1與dict2兩個參數的方法會提示如下錯誤:

>>> dictMerged = dict( dict1, dict2 )
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: dict expected at most 1 arguments, got 2

這也就是我們看到上面的方法2中使用的是**dict2的原因。熟悉C的朋友應當注意,在這里*的意思并不代表指針,這是Python中可變長函數參數的寫法(關于可變長函數參數的相關知識見本文)。在這里,**的意思是基于字典的可變長函數參數。

方法2執行的是如同下面方法3中的代碼,即先將dict1拷貝給dictMerged,在執行update()操作:

python兩個字典合并(方法3)

dictMerged3 = dict1.copy()
dictMerged3.update( dict2 )

對于第一步的復制操作而言,這種使用內建方法copy()的復制方式,和方法2中的復制結果是一樣的,但根據《Core Python Programming (2nd edition)》一書中7.3.2節所述,從已存在字典中生成新字典的方式dictNew = dict( dictOld )較內建方法dictNew = dictOld.copy()會慢一些,因此書中推薦使用copy()方法。

因此,從這幾種方式看來,方法3的效率最高,并且代碼也比較易讀。

關于python合并兩個字典的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

秦皇岛市| 揭阳市| 二连浩特市| 阳山县| 漳浦县| 富阳市| 蒙城县| 阳原县| 潮州市| 抚宁县| 杨浦区| 新邵县| 阿瓦提县| 南丰县| 罗甸县| 盐城市| 增城市| 夹江县| 大渡口区| 山阳县| 沽源县| 拜城县| 宕昌县| 蕉岭县| 连城县| 太原市| 吐鲁番市| 元江| 咸丰县| 城市| 宁明县| 广昌县| 镇原县| 济宁市| 南通市| 拜城县| 含山县| 县级市| 克拉玛依市| 商南县| 伊宁市|