Словарь в Python с синтаксисом и примером
Что такое словарь Python?
A Словарь в Python — это неупорядоченная и изменяемая коллекция значений данных, которая содержит пары ключ-значение. Каждая пара ключ-значение в словаре сопоставляет ключ со связанным с ним значением, что делает его более оптимизированным. Словарь в python объявляется путем заключения списка пар ключ-значение, разделенных запятыми, с использованием фигурных скобок ({}). Python Словарь разделен на два элемента: ключи и значения.
- Ключи будут одним элементом
- Значения могут быть списком или списком внутри списка, числами и т. д.
Синтаксис для Python Dictionary
Dict = { ' Tim': 18, xyz,.. }
Словарь указан в фигурных скобках, внутри этих фигурных скобок объявляются ключи и значения. Каждый ключ отделяется от своего значения двоеточием (:), а каждый элемент отделяется запятыми.
Свойства ключей словаря
При использовании ключей словаря есть два важных момента.
- Не допускается более одной записи для каждого ключа (дублирование ключа не допускается).
- Значения в словаре могут быть любого типа, а ключи должны быть неизменяемыми, как числа. кортежи
- Ключи словаря чувствительны к регистру. Одно и то же имя ключа, но в разных регистрах, в Python словари.
Python 2 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print (Dict['Tiffany'])
Python 3 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print((Dict['Tiffany']))
- В коде у нас есть имя словаря «Dict».
- Мы объявили имя и возраст человека в словаре, где имя — «Ключи», а возраст — «значение».
- Теперь запустите код
- Он извлекает возраст Тиффани из словаря.
Python Словарные методы
Копирование словаря
Вы также можете скопировать весь словарь в новый словарь. Например, здесь мы скопировали наш исходный словарь в новое название словаря «Мальчики» и «Девочки».
Python 2 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} studentX=Boys.copy() studentY=Girls.copy() print studentX print studentY
Python 3 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} studentX=Boys.copy() studentY=Girls.copy() print(studentX) print(studentY)
- У нас есть оригинальный словарь (Dict) с именем и возрастом мальчиков и девочек вместе.
- Но мы хотим, чтобы список мальчиков был отделен от списка девочек, поэтому мы определили элемент мальчиков и девочек в отдельном словаре с именем «Мальчики» и «Девочки».
- Теперь мы снова создали новые имена словаря «студент X» и «студент Y», где все ключи и значения словаря мальчика копируются в студент X, а девочки будут скопированы в студент Y.
- Итак, теперь вам не нужно просматривать весь список в основном словаре (Dict), чтобы проверить, кто мальчик, а кто девочка, вам просто нужно напечатать Student X, если вам нужен список мальчиков, и StudentY, если вам нужен список девочек.
- Итак, когда вы запустите словарь студента X и студента Y, он выдаст все элементы, присутствующие в словаре «мальчиков» и «девочек», отдельно.
Обновление словаря
Вы также можете обновить словарь, добавив новую запись или пару ключ-значение к существующей записи или удалив существующую запись. В этом примере мы добавим еще одно имя «Сара» в наш существующий словарь.
Python 2 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Dict.update({"Sarah":9}) print Dict
Python 3 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Dict.update({"Sarah":9}) print(Dict)
- В нашем существующем словаре «Дикт» нет имени «Сара».
- Мы используем метод Dict.update, чтобы добавить Сару в наш существующий словарь.
- Теперь запустите код, он добавит Сару в наш существующий словарь.
Удалить ключи из словаря
Python dictionary дает вам свободу удалить любой элемент из списка словаря. Предположим, вы не хотите, чтобы имя Charlie было в списке, поэтому вы можете удалить ключевой элемент с помощью следующего кода.
Python 2 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} del Dict ['Charlie'] print Dict
Python 3 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} del Dict ['Charlie'] print(Dict)
Когда вы запустите этот код, он должен распечатать список словарей без Чарли.
- Мы использовали код del Dict
- При выполнении кода он удалил Чарли из основного словаря.
Метод Dictionary items()
Метод items() возвращает список пар кортежей (ключи, значения) в словаре.
Python 2 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "Students Name: %s" % Dict.items()
Python 3 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("Students Name: %s" % list(Dict.items()))
- Мы используем метод code items() для нашего Dict.
- Когда код был выполнен, он возвращает список элементов (ключей и значений) из словаря.
Проверить, существует ли данный ключ в словаре
Для данного списка вы также можете проверить, существует ли наш дочерний словарь в основном словаре или нет. Здесь у нас есть два подсловаря «Мальчики» и «Девочки», теперь мы хотим проверить, существует ли наш словарь «Мальчики» в нашем основном «Дикте» или нет. Для этого мы используем метод цикла for с методом else if.
Python 2 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} for key in Boys.keys(): if key in Dict.keys(): print True else: print False
Python 3 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} for key in list(Boys.keys()): if key in list(Dict.keys()): print(True) else: print(False)
- Команда Forloop в коде проверяет каждый ключ в основном словаре на наличие ключей Boys
- Если он существует в основном словаре, он должен печатать true, иначе он должен печатать false
- Когда вы выполните код, он выведет «True» три раза, поскольку в нашем словаре «Boys» есть три элемента.
- Таким образом, это указывает на то, что слово «Мальчики» существует в нашем основном словаре (Dict).
Сортировка словаря
В словаре вы также можете сортировать элементы. Например, если мы хотим напечатать названия элементов нашего словаря в алфавитном порядке, нам придется использовать цикл for. Он соответствующим образом отсортирует каждый элемент словаря.
Python 2 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} Students = Dict.keys() Students.sort() for S in Students: print":".join((S,str(Dict[S])))
Python 3 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} Students = list(Dict.keys()) Students.sort() for S in Students: print(":".join((S,str(Dict[S]))))
- Мы объявили переменную Student для нашего словаря Dict.
- Затем мы используем код Student.sort, который сортирует элемент внутри нашего словаря.
- Но чтобы отсортировать каждый элемент в словаре, мы запускаем цикл for, объявляя переменную S.
- Теперь, когда мы выполняем код, цикл for будет вызывать каждый элемент из словаря и печатать строку и значение в определенном порядке.
Python Встроенные функции словаря
Словарь метода len()
Функция len() выдает количество пар в словаре.
Например,
Python 2 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "Length : %d" % len (Dict)
Python 3 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("Length : %d" % len (Dict))
Когда выполняется функция len (Dict), она выдает результат «4», поскольку в нашем словаре четыре элемента.
Типы переменных
Python не требует явного объявления резервного пространства памяти; это происходит автоматически. Присвоенные значения переменной «=» используются со знаком равенства. Код для определения типа переменной: «%type (Dict)».
Python 2 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "variable Type: %s" %type (Dict)
Python 3 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("variable Type: %s" %type (Dict))
- Используйте код %type, чтобы узнать тип переменной.
- Когда код был выполнен, он сообщает, что тип переменной является словарем.
Python Список методов cmp()
Метод сравнения cmp() используется в Python сравнить значения и ключи двух словарей. Метод If возвращает 0, если оба словаря равны, 1, если dic1 > dict2, и -1, если dict1 < dict2.
Python 2 Пример
Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} print cmp(Girls, Boys)
Python 3 Пример
cmp is not supported in Python 3
- У нас есть два словарных названия: «Мальчики» и «Девочки».
- Что бы вы ни объявили первым в коде «cmp(Girls, Boys)», оно будет считаться словарем 1. В нашем случае мы сначала объявили «Девочки», поэтому оно будет считаться словарем 1, а мальчики — словарем 2.
- Когда код выполняется, он выводит -1. Это указывает на то, что наш словарь 1 меньше словаря 2.
Словарь Str(dict)
С помощью метода Str() вы можете преобразовать словарь в печатный строковый формат.
Python 2 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "printable string:%s" % str (Dict)
Python 3 Пример
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("printable string:%s" % str (Dict))
- Используйте код %str (Dict)
- Он вернет элементы словаря в печатный строковый формат.
Вот список всех словарных методов
Способ доставки | Описание | Синтаксис |
---|---|---|
копия () | Скопировать весь словарь в новый словарь | dict.copy () |
Обновить() | Обновите словарь, добавив новую запись или пару ключ-значение в существующую запись или удалив существующую запись. | Dict.update([другое]) |
Предметы() | Возвращает список пар кортежей (ключи, значения) в словаре. | словарь.элементы() |
Сортировать() | Вы можете сортировать элементы | словарь.сорт() |
len () | Возвращает количество пар в словаре. | Лен (дикт) |
cmp () | Сравните значения и ключи двух словарей | cmp(dict1, dict2) |
Str () | Преобразование словаря в печатный строковый формат | Стр(дикт) |
Объединение словарей
Здесь вы поймете, как объединить два заданных словаря в один словарь.
У меня есть два словаря, как показано ниже:
Словарь1: my_dict1
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}
Словарь 2: my_dict2
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
Давайте объединим оба этих словаря my_dict1 и my_dict2 и создадим один словарь с именемmy_dict.
Объедините два словаря с помощью метода update().
Метод update() поможет нам объединить один словарь с другим. В этом примере мы обновим my_dict1 на my_dict2. После использования метода update() my_dict1 будет иметь содержимое my_dict2, как показано ниже:
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"} my_dict2 = {"firstName" : "Nick", "lastName": "Price"} my_dict1.update(my_dict2) print(my_dict1)
Вывод:
{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
Объединение словарей методом ** (Из Python 3.5 и далее)
** в переводе называется Кваргс. Python, и он будет работать с Python версия 3.5+. Используя **, мы можем объединить два словаря, и он вернет объединенный словарь. Использование ** перед переменной заменит переменную со всем ее содержимым.
Вот рабочий пример использования ** для объединения двух каталогов.
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"} my_dict2 = {"firstName" : "Nick", "lastName": "Price"} my_dict = {**my_dict1, **my_dict2} print(my_dict)
Вывод:
{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
Тест на членство в словаре
Вы можете проверить, находится ли ключ в настоящем словаре или нет. Эту проверку можно выполнить только для ключа словаря, а не для значения. Проверка членства выполняется с использованием in ключевое слово. Когда вы проверяете ключ в словаре с помощью in ключевое слово, выражение возвращает true, если ключ присутствует, и false, если нет.
Вот пример, показывающий проверку членства в словаре.
my_dict = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"} print("email" in my_dict) print("location" in my_dict) print("test" in my_dict)
Вывод:
True True False
Резюме
- Словари в языке программирования — это тип структуры данных, используемый для хранения каким-либо образом связанной информации.
- Python Словарь разделен на два элемента: ключи и значения.
- Словари не хранят информацию в каком-то определенном порядке, поэтому вы не можете получить информацию обратно в том же порядке, в котором вы ее ввели.
- Ключи будут одним элементом
- Значения могут быть списком или списком внутри списка, числами и т. д.
- Не допускается более одной записи для каждого ключа (дублирование ключа не допускается).
- Значения в словаре могут быть любого типа, а ключи должны быть неизменяемыми, например числа, кортежи или строки.
- Ключи словаря чувствительны к регистру. Одно и то же имя ключа, но в разных регистрах, в Python словари.