В 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() и т. д., чтобы получить желаемый результат.