Computer >> Máy Tính >  >> Lập trình >> Python

ChainMap bằng Python

ChainMap được sử dụng để đóng gói các từ điển thành một đơn vị duy nhất.

ChainMap là một lớp thư viện tiêu chuẩn, nằm trong bộ sưu tập mô-đun.

Để sử dụng nó, trước tiên chúng ta cần nhập nó vào mô-đun thư viện chuẩn của bộ sưu tập.

import collections

Trong phần này, chúng ta sẽ thấy một số chức năng của lớp ChainMap

Các chức năng của bản đồ và khóa () giá trị ()

Bản đồ được sử dụng để hiển thị tất cả các cặp giá trị chính của tất cả các từ điển từ Bản đồ chuỗi. Phương thức key () sẽ trả về các khóa từ ChainMap và phương thức values ​​() trả về tất cả các giá trị () của các khóa khác nhau từ ChainMap.

Mã mẫu

import collections as col
con_code1 = {'India' : 'IN', 'China' : 'CN'}
con_code2 = {'France' : 'FR', 'United Kingdom' : 'GB'}
chain = col.ChainMap(con_code1, con_code2)
print("Initial Chain: " + str(chain.maps))
print('The keys in the ChainMap: ' + str(list(chain.keys())))
print('The values in the ChainMap: ' + str(list(chain.values())))

Đầu ra

Initial Chain: [{'India': 'IN', 'China': 'CN'}, {'France': 'FR', 'United Kingdom': 'GB'}]
The keys in the ChainMap: ['China', 'United Kingdom', 'India', 'France']
The values in the ChainMap: ['CN', 'GB', 'IN', 'FR']

new_child () và phương thức đã đảo ngược

Phương thức new_child () được sử dụng để thêm một đối tượng từ điển khác vào Bản đồ chuỗi ở phần đầu. Và phương pháp đảo ngược cũng có thể được sử dụng cho ChainMap để đảo ngược thứ tự của các cặp khóa-giá trị.

Mã mẫu

import collections as col
con_code1 = {'India' : 'IN', 'China' : 'CN'}
con_code2 = {'France' : 'FR', 'United Kingdom' : 'GB'}
code = {'Japan' : 'JP'}
chain = col.ChainMap(con_code1, con_code2)
print("Initial Chain: " + str(chain.maps))
chain = chain.new_child(code)    #Insert New Child
print("Chain after Inserting new Child: " + str(chain.maps))
chain.maps = reversed(chain.maps)
print("Reversed Chain: " + str(chain))

Đầu ra

Initial Chain: [{'India': 'IN', 'China': 'CN'}, {'France': 'FR', 'United Kingdom': 'GB'}]
Chain after Inserting new Child: [{'Japan': 'JP'}, {'India': 'IN', 'China': 'CN'}, {'France': 'FR', 'United Kingdom': 'GB'}]
Reversed Chain: ChainMap({'France': 'FR', 'United Kingdom': 'GB'}, {'India': 'IN', 'China': 'CN'}, {'Japan': 'JP'})