亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python如何將多個(gè)映射合并為一個(gè)映射

 更新時(shí)間:2024年09月11日 07:38:18   作者:yangjiajia123456  
ChainMap類是Python中collections模塊的一部分,用于將多個(gè)字典合并為一個(gè)映射,而不會(huì)在物理上合并字典,這使得字典中相同的鍵可以共存,輸出結(jié)果取決于鍵的檢索順序,ChainMap通過維護(hù)一個(gè)底層映射的列表,重定義字典操作來實(shí)現(xiàn)這一功能

python多個(gè)映射合并為一個(gè)映射

我們有時(shí)需要將多個(gè)字典合并成一個(gè)單獨(dú)的映射結(jié)構(gòu),但不同的字典之間可能有相同的鍵,又不想將鍵覆蓋掉,于是可以使用ChainMap類來實(shí)現(xiàn)。

它在邏輯上將不同的字典合并為一個(gè)單獨(dú)的映射結(jié)構(gòu)。

from pprint import pprint
from collections import ChainMap

a = {'x': 1, 'y': 2, 'z': 3}
b = {'y': 4, 'z': 5, 'm': 6, 'n': 8}
c = {'m': 6, 'n': 10, 'a': 7, 'b': 0, 'c': 9}

d = ChainMap(a, b, c)
pprint(d)

輸出結(jié)果

ChainMap({'x': 1, 'y': 2, 'z': 3},
         {'m': 6, 'n': 8, 'y': 4, 'z': 5},
         {'a': 7, 'b': 0, 'c': 9, 'm': 6, 'n': 10})

ChainMap接受多個(gè)映射然后在邏輯上表現(xiàn)為一個(gè)單獨(dú)的映射。但是,這些字典并不會(huì)在事實(shí)上合并在一起。

ChainMap只是簡單地維護(hù)一個(gè)記錄底層映射關(guān)系的列表,然后重新定義常見的字典操作來掃描這個(gè)列表。

print(list(d.keys()))
print(list(d.values()))

每次運(yùn)行輸出的序列的值的順序都不相同

['x', 'n', 'a', 'm', 'y', 'b', 'c', 'z']
[1, 8, 7, 6, 2, 0, 9, 3]
.
.
.
['a', 'x', 'm', 'y', 'n', 'z', 'b', 'c']
[7, 1, 6, 2, 8, 3, 0, 9]

如果有重復(fù)的鍵,那么會(huì)輸出第一個(gè)查到的鍵。

print(d['n'])

8

python合并多個(gè)字典或者映射

python 中很多時(shí)候會(huì)用到合并多個(gè)字典

首先我們介紹一個(gè)collections模塊中的ChairMap類

from collections import ChainMap
a = {'x': 1, 'z': 3 }
b = {'y': 2, 'z': 4 }
c = ChainMap(a,b)

如果模塊中的鍵是相同的 會(huì)返回第一個(gè)值 , 因?yàn)槭怯成?,所以對(duì)它的操作都會(huì)對(duì)原數(shù)組有操作。

如果不想改變?cè)瓉頂?shù)組可以使用python 中的update()

a = {'x': 1, 'z': 3 }
b = {'y': 2, 'z': 4 }
merged = dict(b)
merged.update(a)

它需要你創(chuàng)建一個(gè)完全不同的字典對(duì)象(或者是破壞現(xiàn)有字典結(jié)構(gòu))。 同時(shí),如果原字典做了更新,這種改變不會(huì)反應(yīng)到新的合并字典中去。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux下多個(gè)Python版本安裝教程

    Linux下多個(gè)Python版本安裝教程

    這篇文章主要為大家詳細(xì)介紹了Linux下多個(gè)Python版本的安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Django--權(quán)限Permissions的例子

    Django--權(quán)限Permissions的例子

    今天小編就為大家分享一篇Django--權(quán)限Permissions的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • python數(shù)據(jù)分析基礎(chǔ)知識(shí)之shape()函數(shù)的使用教程

    python數(shù)據(jù)分析基礎(chǔ)知識(shí)之shape()函數(shù)的使用教程

    shape函數(shù)是numpy.core.fromnumeric中的函數(shù),它的功能是讀取矩陣的長度,比如shape[0]就是讀取矩陣第一維度的長度,下面這篇文章主要給大家介紹了關(guān)于python數(shù)據(jù)分析基礎(chǔ)知識(shí)之shape()函數(shù)使用的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Scrapy框架基本命令與settings.py設(shè)置

    Scrapy框架基本命令與settings.py設(shè)置

    這篇文章主要介紹了Scrapy框架基本命令與settings.py設(shè)置,結(jié)合實(shí)例形式分析了創(chuàng)建爬蟲項(xiàng)目、創(chuàng)建爬蟲文件、存儲(chǔ)、打開網(wǎng)頁及settings.py設(shè)置等相關(guān)操作技巧,需要的朋友可以參考下
    2020-02-02
  • PyQt Qt Designer工具的布局管理詳解

    PyQt Qt Designer工具的布局管理詳解

    這篇文章主要介紹了PyQt Qt Designer工具的布局管理詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • flask框架視圖函數(shù)用法示例

    flask框架視圖函數(shù)用法示例

    這篇文章主要介紹了flask框架視圖函數(shù)用法,結(jié)合實(shí)例形式分析了flask框架視圖函數(shù)常見配置與使用技巧,需要的朋友可以參考下
    2018-07-07
  • Windows系統(tǒng)下PhantomJS的安裝和基本用法

    Windows系統(tǒng)下PhantomJS的安裝和基本用法

    今天小編就為大家分享一篇關(guān)于Windows系統(tǒng)下PhantomJS的安裝和基本用法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 最新評(píng)論