В Python словарь — это набор пар ключ-значение, где каждый ключ должен быть уникальным. У нас может быть словарь Python с несколькими ключами.

Пример 1. Давайте создадим словарь на Python с несколькими ключами, используя фигурные скобки {}. Возьмите несколько штатов и их столицы в качестве пары ключ-значение для словаря.

state_capitals = { 
    'California': 'Sacramento', 
    'Texas': 'Austin', 
    'New York': 'Albany', 
    'Florida': 'Tallahassee', 
    'Illinois': 'Springfield' 
} 
print(state_capitals) 
print(type(state_capitals))

словарь Python с несколькими ключами

Примечание. Мы также можем использовать конструктор dict() или метод определения словаря в Python для создания словаря с несколькими ключами.

Пример 2. Используя метод цикла for, мы можем проверить каждое значение, содержащееся в словаре, или нет. Чтобы создать цикл for, используйте элементы для перебора словаря пар ключ-значение.

  • В этом примере сначала мы инициализируем словарь Python с несколькими ключами, а затем создаем пустой словарь Python, в котором результат сохраняется в виде пары ключ-значение. При циклическом просмотре этого словаря Python возвращаемое значение является ключом этого словаря Python.

Исходный код:

new_dict = {} 
new_k = ['micheal', 'George', 'Oliva'] 
for org_key in new_k: 
 new_dict[org_key] = 6 
print("Create dictinary with multiple keys:\n",new_dict)

Вот выполнение следующего данного кода:

Create dictinary with multiple keys: 
 {'micheal': 6, 'George': 6, 'Oliva': 6}

словарь с двумя ключами Python

Содержание

Как добавить несколько ключей в словарь

В Python словари представляют собой изменяемые коллекции элементов(пары ключ-значение), т. е. мы можем манипулировать данными, хранящимися внутри словаря Python, используя различные методы.

Чтобы создать словарь с несколькими ключами, а затем добавить в него несколько пар ключ-значение одновременно, мы можем использовать метод update() или распаковку словаря(*) в Python:

Пример 2: Давайте рассмотрим сценарий, в котором мы создаем систему для хранения столиц штатов для приложения викторины по географии США. Изначально мы начинаем с нескольких штатов и их столиц. По мере сбора большего количества данных мы хотим добавить больше штатов и их столиц в наш словарь Python.

state_capitals = { 
    'California': 'Sacramento', 
    'Texas': 'Austin' 
} 
new_capitals = { 
    'Florida': 'Tallahassee', 
    'Georgia': 'Atlanta' 
} 
state_capitals.update(new_capitals) 
print(state_capitals)

Вывод: с помощью метода update() мы успешно добавили несколько новых состояний (ключей) и их капиталов (значений) в исходный словарь state_capitals в Python.

{'California': 'Sacramento', 'Texas': 'Austin', 'Florida': 'Tallahassee', 'Georgia': 'Atlanta'}

Как добавить несколько ключей в словарь 

Примечание. Мы также можем распаковать эти два словаря с помощью(*) и объединить с помощью(+).

Пример 2. Чтобы создать словарь Python с несколькими ключами, мы можем применить сопоставленный метод с одним значением, и он позволяет пользователю обновлять значение для всех ключей одновременно.

new_lis = [1,2,3]

you_dict = {"John" : new_lis, "Potter" : new_lis}
print(you_dict)

В приведенном выше коде сначала мы инициализируем список Python, а затем используем значения строки для сопоставления объекта. Как вы можете видеть, в выводе будет показано, что каждый ключ содержит свое собственное значение [1,2,3], и, следовательно, мы создали словарь с помощью Python.

Вот выполнение следующего данного кода:

словарь Python, два ключа, одно значение

словарь Python, два ключа, одно значение

Используя кортежи с несколькими ключами словаря

  • Здесь мы можем увидеть, как использовать концепцию кортежа Python при создании словаря с несколькими ключами в Python.
  • Чтобы выполнить эту конкретную задачу, сначала мы инициализируем пустой словарь Python, а затем используем значения в форме кортежей. В словаре Python кортежи являются хешируемыми объектами и могут использоваться как ключ или значение. После этого проверьте условие, содержится ли ключ в данном списке или нет.

Исходный код:

my_dict={}
my_dict[('Country','Name')]='Germany'
my_dict[('Ipl','year')]='2014'
my_dict[('student','name')]='Elite'
print(my_dict)

new_key=('Country','Name')
if new_key in my_dict:
    print( my_dict[new_key] )

Вот скриншот следующего кода:

Используя кортежи с несколькими ключами словаря

Как присвоить одно и то же значение

  • Давайте посмотрим, как присвоить одно и то же значение нескольким ключам в словаре Python.
  • Здесь мы можем использовать концепцию метода dict.keys(), который будет возвращать объект, отображающий словарь Python всех ключей, присутствующих в кортеже Python.

Исходный код:

class new_dict(dict):
    def keylist(self, new_k, new_val):
        for n_key in new_k:
            self[n_key] = new_val

b = new_dict()
b.keylist(('l', 'o', 'i'), 5)
print(b)

Сначала в приведенном выше коде мы создадим функцию new_dict и назначим словарь Python «dict». Теперь используйте метод цикла for для перебора «списка ключей» и отображения нескольких ключей с одинаковым значением.

Вот выполнение следующего данного кода:

Python dict с несколькими ключами

Проверьте несколько ключей в словаре с одинаковым значением

В этом примере мы можем применить концепцию метода понимания dict. В Python метод понимания словаря заключается в создании словаря путем объединения двух наборов данных, которые имеют форму списков Python.

you_dictionary = {
    new_key: new_val
    for keys, new_val in [(['y', 'q', 'x'], 40),(['i', 'l'], 40)]
    for new_key in keys
    }
print("Multiple keys same value:",you_dictionary)

Сначала в приведенном выше коде мы инициализируем словарь Python и назначаем ему метод понимания словаря в качестве аргумента. Теперь мне нужно сохранить несколько ключей с соответствующим значением и содержать их в списке Python.

Вот результат выполнения следующего кода:

Проверьте несколько ключей в словаре с одинаковым значением

С одинаковым именем

  • В словаре Python, если вы хотите отобразить несколько ключей с одним и тем же значением, вам необходимо использовать концепцию цикла for и понимания списков в методах Python.
  • Здесь мы создаем список Python и присваиваем ему значение 2, что означает, что ключи будут отображать одно и то же имя два раза. После этого объявите переменную new_val и присвойте ей значения в виде списка в Python.
  • Теперь инициализируйте пустой словарь Python и используйте концепцию цикла for для перебора списка Python и применения понимания списка, чтобы вы могли создавать списки из существующих списков.

Пример:

new_lis = [2]
new_val = [[18, 21, 56], [14, 10, 61]]

my_new_dictionary = {}

for m in new_lis:
    my_new_dictionary[m] = new_val

for key,val in my_new_dictionary.items():
    for val in my_new_dictionary[key]:
        print("new_key: {} :: same_nam_val: {}".format(key, val))

Вот реализация следующего кода:

словарь Python 2 ключа

Словарь получает несколько ключей

  • Здесь мы можем увидеть, как получить несколько ключей в словаре Python.
  • Для выполнения этой задачи мы можем использовать метод цикла for, чтобы проверить, содержится ли каждое значение в словаре или нет. Чтобы объявить метод цикла for, используйте элементы для перебора пар ключ-значение словаря Python.

Пример:

my_dict = {}

new_k = ['lichard', 'John', 'james']
for org_key in new_k:
 my_dict[org_key] = 8

print("Get multiple keys with value:",my_dict)

Сначала в приведенном выше коде мы создадим пустой словарь Python и вместе с ним объявим переменную, назначим ей список ключей со связанным значением 8. Теперь отобразите результат, и вы сможете получить несколько ключей со значениями из словаря в Python. .

Вот результат выполнения следующего кода:

Словарь Python с несколькими ключами

С несколькими ключевыми значениями

  • Давайте посмотрим, как получить несколько значений ключей из словаря Python.
  • В этом примере, если вы хотите получить несколько значений ключей, вам необходимо связать объект с каждым ключом в качестве значения. В данном словаре Python ключи представляют собой строки, и каждому ключу мы присваиваем список чисел в качестве значения.

Исходный код:

my_dict = {'n': [4,2,3,4],
             'z': [18,23,45,7,],
             'u': [78,34,5,6],
             'q': [19,10,12,34],
             'p': [446,76,5,9]}

new_val = my_dict['q']
print('Multiple Values of key "q" are:',new_val)

В приведенном выше коде мы выбираем элемент из словаря Python, где ключ равен «q», и он возвращает все значения, связанные с ключом.

Вот выполнение следующего данного кода:

Словарь Python с несколькими ключами

Словарь с несколькими ключевыми уровнями

  • Здесь мы можем увидеть, как получить несколько уровней ключей из словаря в Python.
  • Чтобы решить эту проблему, мы можем использовать концепцию метода defaultdict() для получения нескольких уровней ключей. В Python defaultdict() просто создаст любые элементы, к которым вы хотите получить доступ. Метод всегда возвращает объект, подобный словарю.
  • Теперь, если вы хотите открыть файл в режиме записи, вы можете использовать функцию With open() в Python. Для этого вам также необходимо импортировать CSV и модуль сбора данных.

Исходный код:

import collections
import csv

new_out = collections.defaultdict(int)

with open("test9.csv","rt") as f:
    for line in f:
        new_val = line.split()
        new_key = '-'.join(new_val)
        new_out[new_key] += 1

print(new_out)

Вот вывод следующего кода Python:

Словарь Python выбирает несколько ключей

Словарь Python с двумя ключами

С двумя ключами

  • Давайте посмотрим, как объединить два ключа и получить несколько значений ключа в словаре Python.
  • Здесь мы создаем список Python и присваиваем ему значение 2, что означает, что ключи будут отображать одно и то же имя два раза. После этого объявите переменную new_val и присвойте ей значения в виде списка Python.
  • В этом примере вы можете использовать любой объект в качестве ключа и содержать значение в виде списка в Python dict.

Пример:

lis1 = [2]
new_val2 = [[18, 21, 56], [14, 10, 61]]

you_dictionary = {}

for z in lis1:
    you_dictionary[z] = new_val2

for key,val in you_dictionary.items():
    for val in you_dictionary[key]:
        print("new_key: {} :: same_nam_val: {}".format(key, val))

Вот результат выполнения следующего кода:

Python диктует несколько ключей

Заключение

В этом руководстве по Python мы обсудили, что такое множественные ключи словаря Python и как создать словарь с несколькими ключами. Мы также увидели, как получить несколько ключей в словаре и как добавить словарь с несколькими ключами, используя различные методы, присутствующие в Python. Мы использовали различные методы, присутствующие в Python, такие как цикл for, понимание словаря, update(), defaultdict() и т. д., чтобы получить желаемый результат.

Добавить комментарий