В Python словарь — это набор пар ключ-значение, где каждый ключ должен быть уникальным. У нас может быть словарь Python с несколькими ключами.
Пример 1. Давайте создадим словарь на Python с несколькими ключами, используя фигурные скобки {}. Возьмите несколько штатов и их столицы в качестве пары ключ-значение для словаря.
state_capitals = {
'California': 'Sacramento',
'Texas': 'Austin',
'New York': 'Albany',
'Florida': 'Tallahassee',
'Illinois': 'Springfield'
}
print(state_capitals)
print(type(state_capitals))

Примечание. Мы также можем использовать конструктор 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, используя различные методы.
Чтобы создать словарь с несколькими ключами, а затем добавить в него несколько пар ключ-значение одновременно, мы можем использовать метод 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 кортежи являются хешируемыми объектами и могут использоваться как ключ или значение. После этого проверьте условие, содержится ли ключ в данном списке или нет.
Исходный код:
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 для перебора «списка ключей» и отображения нескольких ключей с одинаковым значением.
Вот выполнение следующего данного кода:

Проверьте несколько ключей в словаре с одинаковым значением
В этом примере мы можем применить концепцию метода понимания 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.
- Для выполнения этой задачи мы можем использовать метод цикла 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 ключи представляют собой строки, и каждому ключу мы присваиваем список чисел в качестве значения.
Исходный код:
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.
- Чтобы решить эту проблему, мы можем использовать концепцию метода 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 и присваиваем ему значение 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, такие как цикл for, понимание словаря, update(), defaultdict() и т. д., чтобы получить желаемый результат.