Рубрики

ChainMap в Python

Python также содержит контейнер ChainMap, который объединяет множество словарей в один модуль. ChainMap является членом модуля « Коллекции ».

Операции на ChainMap

Операции доступа

1. keys (): — эта функция используется для отображения всех ключей всех словарей в ChainMap.

2. values (): — Эта функция используется для отображения значений всех словарей в ChainMap.

3. карты: — Эта функция используется для отображения ключей с соответствующими значениями всех словарей в ChainMap.

# Пожалуйста, выберите Python 3 для запуска этого кода в IDE
# Python-код для демонстрации ChainMap и
# ключи (), значения () и карты

  
# импорт коллекций для операций ChainMap

import collections

  
# инициализация словарей

dic1 = { 'a' : 1, 'b' : 2 }

dic2 = { 'b' : 3, 'c' : 4 }

  
# initializing ChainMap

chain = collections.ChainMap(dic1, dic2)

  
# печать цепочкиКарта с использованием карт

print ("All the ChainMap contents are : ")

print (chain.maps)

  
# печать ключей с использованием ключей ()

print ("All keys of ChainMap are : ")

print (list(chain.keys()))

  
# печать ключей с использованием ключей ()

print ("All values of ChainMap are : ")

print (list(chain.values()))

Выход :

All the ChainMap contents are : 
[{'b': 2, 'a': 1}, {'c': 4, 'b': 3}]
All keys of ChainMap are : 
['a', 'c', 'b']
All values of ChainMap are : 
[1, 4, 2]

Примечание. Обратите внимание, что ключ с именем «b» существует в обоих словарях, но в качестве значения ключа «b» принимается только первый ключ словаря. Упорядочение выполняется по мере того, как словари передаются в функции.

Манипулирующие Операции

1. new_child (): — Эта функция добавляет новый словарь в начало ChainMap.

2. reversed (): — Эта функция меняет относительный порядок словарей в ChainMap.

# Пожалуйста, выберите Python 3 для запуска этого кода в IDE
# Python-код для демонстрации ChainMap и
# reversed () и new_child ()

  
# импорт коллекций для операций ChainMap

import collections

  
# инициализация словарей

dic1 = { 'a' : 1, 'b' : 2 }

dic2 = { 'b' : 3, 'c' : 4 }

dic3 = { 'f' : 5 }

  
# initializing ChainMap

chain = collections.ChainMap(dic1, dic2)

  
# печать цепочкиКарта с использованием карты

print ("All the ChainMap contents are : ")

print (chain.maps)

  
# используя new_child (), чтобы добавить новый словарь

chain1 = chain.new_child(dic3)

  
# печать цепочкиКарта с использованием карты

print ("Displaying new ChainMap : ")

print (chain1.maps)

  
# отображение значения, связанного с b, перед обращением

print ("Value associated with b before reversing is : ",end="")

print (chain1['b'])

  
# реверсирование ChainMap

chain1.maps = reversed(chain1.maps)

  
# отображение значения, связанного с b после реверса

print ("Value associated with b after reversing is : ",end="")

print (chain1['b'])

Выход :

All the ChainMap contents are : 
[{'b': 2, 'a': 1}, {'b': 3, 'c': 4}]
Displaying new ChainMap : 
[{'f': 5}, {'b': 2, 'a': 1}, {'b': 3, 'c': 4}]
Value associated with b before reversing is : 2
Value associated with b after reversing is : 3

Эта статья предоставлена Манджитом Сингхом . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

ChainMap в Python

0.00 (0%) 0 votes