最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python?ChainMap的使用詳解

 更新時間:2023年03月02日 15:17:01   作者:小小魚er  
chainMap是邏輯上合并兩個字典為一個邏輯單元,合并后的結構實際上是一個列表,只是邏輯上是仍然為一個字典(并未生成新的),對此列表的操作模擬了各種字典的操作,這篇文章主要介紹了python?ChainMap的使用,需要的朋友可以參考下

鏈接字典

chainMap是邏輯上合并兩個字典為一個邏輯單元,合并后的結構實際上是一個列表,只是邏輯上是仍然為一個字典(并未生成新的),對此列表的操作模擬了各種字典的操作。合并后的取值及操作仍然是對原始字典的操作。

相同的key值合并后取第一個字典里的值作為重復key的值,

from collections import ChainMap
 
dict1={"x":1,"y":3,"t":12}
dict2={"x":5,"z":3}
 
chain_dict=ChainMap(dict1,dict2)
#相同的key值合并后取第一個dict里的值作為重復key的值
print(chain_dict["x"])
print(chain_dict["z"])

結果:

1
3

對chain_dict的增刪改查影響的都是第一個字典

from collections import ChainMap
 
dict1={"x":1,"y":3,"t":12}
dict2={"x":5,"z":3}
 
chain_dict=ChainMap(dict1,dict2)
#對chain_dict的增刪改查影響的都是dict1
chain_dict["a"]=10
print(dict1)
chain_dict["x"]=100
print(dict1)
del dict1["t"]
print(dict1)
print(dict2)

 結果:

{'x': 1, 'y': 3, 't': 12, 'a': 10}
{'x': 100, 'y': 3, 't': 12, 'a': 10}
{'x': 100, 'y': 3, 'a': 10}
{'x': 5, 'z': 3}

maps屬性可輸出所以合并的字典

from collections import ChainMap
dict1={"x":1,"y":3,"t":12}
dict2={"x":5,"z":3}
 
chain_dict=ChainMap(dict1,dict2)
print(chain_dict.maps)

結果:

[{'x': 1, 'y': 3, 't': 12}, {'x': 5, 'z': 3}]

new_child()方法是在合并后的映射列表頭部位置插入空映射{}

from collections import ChainMap
dict1={"x":1,"y":3,"t":12}
dict2={"x":5,"z":3}
 
chain_dict=ChainMap(dict1,dict2)
print(chain_dict.maps)
a=chain_dict.new_child()
print(a)
print(a.maps)

結果:

[{'x': 1, 'y': 3, 't': 12}, {'x': 5, 'z': 3}]
ChainMap({}, {'x': 1, 'y': 3, 't': 12}, {'x': 5, 'z': 3})
[{}, {'x': 1, 'y': 3, 't': 12}, {'x': 5, 'z': 3}]

new_child()可以衍生出parent()方法的使用,parent()其實是在合并后的映射列表去掉頭部位置第一個映射后的結果:

from collections import ChainMap
dict1={"x":1,"y":3,"t":12}
dict2={"x":5,"z":3}
chain_dict=ChainMap(dict1,dict2)
print(chain_dict.maps)
a=chain_dict.new_child()
print(a)
print(a.maps)
b=a.parents
print("b=",b)
bb=b.parents
print("bb=",bb)

結果:

[{'x': 1, 'y': 3, 't': 12}, {'x': 5, 'z': 3}]
ChainMap({}, {'x': 1, 'y': 3, 't': 12}, {'x': 5, 'z': 3})
[{}, {'x': 1, 'y': 3, 't': 12}, {'x': 5, 'z': 3}]
b= ChainMap({'x': 1, 'y': 3, 't': 12}, {'x': 5, 'z': 3})
bb= ChainMap({'x': 5, 'z': 3})

鏈接字典的應用:

鏈接字典及它的new_child和parent方法特性適合處理作用域及查找鏈類似問題:

1,查找鏈

import builtins
pylookup = ChainMap(locals(), globals(), vars(builtins))

2,作用域

比如用戶指定的命令行參數(shù)優(yōu)先于環(huán)境變量的示例,而環(huán)境變量優(yōu)先于默認值:

import os, argparse
 
defaults = {'color': 'red', 'user': 'guest'}
 
parser = argparse.ArgumentParser()
parser.add_argument('-u', '--user')
parser.add_argument('-c', '--color')
namespace = parser.parse_args()
command_line_args = {k:v for k, v in vars(namespace).items() if v}
 
combined = ChainMap(command_line_args, os.environ, defaults)
print(combined['color'])
print(combined['user'])

用例參考資料:

python3的ChainMap_langb2014

到此這篇關于python ChainMap的使用的文章就介紹到這了,更多相關python ChainMap的使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 云原生Docker部署Django和mysql項目全過程

    云原生Docker部署Django和mysql項目全過程

    最近在學習用docker部署Django項目,經(jīng)過百折不撓的鼓搗,終于將項目部署成功,下面這篇文章主要給大家介紹了關于云原生Docker部署Django和mysql項目的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • python3中int(整型)的使用教程

    python3中int(整型)的使用教程

    這篇文章主要介紹了關于python3中int(整型)的使用教程,文中介紹的非常詳細,相信對大家學習或者使用python3能具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • Python發(fā)送form-data請求及拼接form-data內(nèi)容的方法

    Python發(fā)送form-data請求及拼接form-data內(nèi)容的方法

    這篇文章主要介紹了Python發(fā)送form-data請求及拼接form-data內(nèi)容的方法,文中采用的是requests的方式發(fā)送multipart/form-data請求,需要的朋友可以參考下
    2016-03-03
  • python實現(xiàn)合并兩個排序的鏈表

    python實現(xiàn)合并兩個排序的鏈表

    這篇文章主要為大家詳細介紹了python實現(xiàn)合并兩個排序的鏈表,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • python PrettyTable模塊的安裝與簡單應用

    python PrettyTable模塊的安裝與簡單應用

    prettyTable 是一款很簡潔但是功能強大的第三方模塊,主要是將輸入的數(shù)據(jù)轉(zhuǎn)化為格式化的形式來輸出,這篇文章主要介紹了python PrettyTable模塊的安裝與簡單應用,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Python查找字符串中包含的多個元素的實現(xiàn)

    Python查找字符串中包含的多個元素的實現(xiàn)

    本文詳細介紹了如何使用Python查找字符串中包含的多個元素,包括基本字符串操作和使用正則表達式進行高級搜索,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Python數(shù)據(jù)結構與算法之圖結構(Graph)實例分析

    Python數(shù)據(jù)結構與算法之圖結構(Graph)實例分析

    這篇文章主要介紹了Python數(shù)據(jù)結構與算法之圖結構(Graph),結合實例形式分析了圖結構的概念、原理、使用方法及相關操作技巧,需要的朋友可以參考下
    2017-09-09
  • 使用python實現(xiàn)生成用戶信息

    使用python實現(xiàn)生成用戶信息

    這篇文章主要介紹了使用python實現(xiàn)生成用戶信息的相關代碼,非常的簡單實用,需要的朋友可以參考下
    2017-03-03
  • 詳解TensorFlow查看ckpt中變量的幾種方法

    詳解TensorFlow查看ckpt中變量的幾種方法

    本篇文章主要介紹了詳解TensorFlow查看ckpt中變量的幾種方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • 如何清空python的變量

    如何清空python的變量

    在本篇文章里小編給大家分享的是關于清空python的變量的方法,有需要的朋友們可以學習下。
    2020-07-07

最新評論

吉木萨尔县| 怀柔区| 七台河市| 宁城县| 古浪县| 巴林右旗| 贞丰县| 原阳县| 台东县| 溧阳市| 长顺县| 略阳县| 宣武区| 平谷区| 秦皇岛市| 东平县| 长泰县| 沁阳市| 鄂州市| 清镇市| 靖边县| 定日县| 司法| 青田县| 和龙市| 仁化县| 南乐县| 响水县| 肇州县| 东宁县| 都兰县| 澄城县| 安仁县| 拜泉县| 冀州市| 六盘水市| 平远县| 泰和县| 永新县| 大名县| 玉屏|