Словарь в Python с синтаксисом и примером

Что такое словарь Python?

A Словарь в Python — это неупорядоченная и изменяемая коллекция значений данных, которая содержит пары ключ-значение. Каждая пара ключ-значение в словаре сопоставляет ключ со связанным с ним значением, что делает его более оптимизированным. Словарь в python объявляется путем заключения списка пар ключ-значение, разделенных запятыми, с использованием фигурных скобок ({}). Python Словарь разделен на два элемента: ключи и значения.

  • Ключи будут одним элементом
  • Значения могут быть списком или списком внутри списка, числами и т. д.

Синтаксис для Python Dictionary

Dict = { ' Tim': 18,  xyz,.. }

Словарь указан в фигурных скобках, внутри этих фигурных скобок объявляются ключи и значения. Каждый ключ отделяется от своего значения двоеточием (:), а каждый элемент отделяется запятыми.

Синтаксис для Python Dictionary

Свойства ключей словаря

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

  • Не допускается более одной записи для каждого ключа (дублирование ключа не допускается).
  • Значения в словаре могут быть любого типа, а ключи должны быть неизменяемыми, как числа. кортежи
  • Ключи словаря чувствительны к регистру. Одно и то же имя ключа, но в разных регистрах, в 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 словари.