python ChainMap的突變用法
1、ChainMap支援突變。換句話說,允許更新、新增、刪除和彈出鍵。這種情況這些操作只作用於第一個對映。
>>> from collections import ChainMap >>> numbers = {"one": 1, "two": 2} >>> letters = {"a": "A", "b": "B"} >>> alpha_num = ChainMap(numbers, letters) >>> alpha_num ChainMap({'one': 1, 'two': 2}, {'a': 'A', 'b': 'B'}) >>> # Add a new key-value pair >>> alpha_num["c"] = "C" >>> alpha_num ChainMap({'one': 1, 'two': 2, 'c': 'C'}, {'a': 'A', 'b': 'B'}) >>> # Update an existing key >>> alpha_num["b"] = "b" >>> alpha_num ChainMap({'one': 1, 'two': 2, 'c': 'C', 'b': 'b'}, {'a': 'A', 'b': 'B'}) >>> # Pop keys >>> alpha_num.pop("two") 2 >>> alpha_num.pop("a") Traceback (most recent call last): ... KeyError: "Key not found in the first mapping: 'a'" >>> # Delete keys >>> del alpha_num["c"] >>> alpha_num ChainMap({'one': 1, 'b': 'b'}, {'a': 'A', 'b': 'B'}) >>> del alpha_num["a"] Traceback (most recent call last): ... KeyError: "Key not found in the first mapping: 'a'" >>> # Clear the dictionary >>> alpha_num.clear() >>> alpha_num ChainMap({}, {'a': 'A', 'b': 'B'})
2、改變給定鏈對映內容的操作只會影響第一個對映,即使試圖改變列表中的其他對映中的鍵。
可以使用此行為建立可更新的鏈對映,而不修改原始輸入字典。在這種情況下,您可以使用空字典作為ChainMap的第一個引數。
>>> from collections import ChainMap >>> numbers = {"one": 1, "two": 2} >>> letters = {"a": "A", "b": "B"} >>> alpha_num = ChainMap({}, numbers, letters) >>> alpha_num ChainMap({}, {'one': 1, 'two': 2}, {'a': 'A', 'b': 'B'}) >>> alpha_num["comma"] = "," >>> alpha_num["period"] = "." >>> alpha_num ChainMap( {'comma': ',', 'period': '.'}, {'one': 1, 'two': 2}, {'a': 'A', 'b': 'B'} )
以上就是python ChainMap的突變用法,希望對大家有所幫助。更多Python學習指路:
本文教程操作環境:windows7系統、Python 3.9.1,DELL G3電腦。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/75/viewspace-2828350/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python ChainMap的呼叫效率PythonAI
- python ChainMap增加子上下文的方法PythonAI
- Python定義全域性變數的用法Python變數
- Python入門:ChainMap 有效管理多個上下文PythonAI
- 鄭州達內:Python定義全域性變數的用法Python變數
- 一分鐘帶你瞭解Python私有變數的用法!Python變數
- python-random的用法Pythonrandom
- python中return的用法Python
- python中的eval用法Python
- Python with 語句的用法Python
- Python中if的基本用法Python
- Flutter 中漸變的高階用法Flutter
- Python中return self的用法Python
- python的partial()用法說明Python
- Python字典的高階用法Python
- python xpath用法Python
- python print 用法Python
- python match用法Python
- python的裝飾器@的用法Python
- 小波變換檢測訊號突變點的MATLAB實現Matlab
- 變數常量類的命名格式以及用法變數
- python中zip()函式的用法Python函式
- 淺談python中的xpath用法Python
- Python中paramiko 模組的用法Python
- Python中lambda表示式的用法Python
- Python中operator 模組的用法Python
- Python中pathlib 模組的用法Python
- Python中itertools 模組的用法Python
- Python——迭代器的高階用法Python
- python-try-except:pass的用法Python
- Python中的selenium的簡單用法Python
- Python中的split()函式的用法Python函式
- Python字典dict用法Python
- python-lambda用法Python
- python pil resize 用法Python
- [譯] Immer 下的不可突變資料和 React 的 setStateReact
- Laravel-admin 突變者案例記錄Laravel
- PyThon程式設計必看!python加法運算子的用法Python程式設計