Учебники

9) Словарь Python: начинающие

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

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

В этом уроке мы будем учиться,

Синтаксис для словаря Python :

  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) с именем и возрастом мальчиков и девочек вместе
  • Но мы хотим, чтобы список мальчиков отличался от списка девочек, поэтому мы определили элемент мальчиков и девочек в отдельном словаре «Мальчики» и «Девочки».
  • Теперь снова мы создали новые словарные имена «studentX» и «studentY», где все ключи и значения словаря boy копируются в studentX, а девочки будут копироваться в studentY
  • Так что теперь вам не нужно просматривать весь список в главном словаре (Dict), чтобы проверить, кто мальчик, а кто девушка, вам просто нужно распечатать studentX, если вы хотите список мальчиков, и StudentY, если вы хотите список девочек
  • Итак, когда вы запустите словарь studentX и studentY, он выдаст все элементы, присутствующие в словаре «boys» и «girls» отдельно

Обновление словаря

Вы также можете обновить словарь, добавив новую запись или пару ключ-значение в существующую запись или удалив существующую запись. Здесь в примере мы добавим другое имя «Сара» в наш существующий словарь.

Пример 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» не имеет названия «Sarah».
  • Мы используем метод Dict.update, чтобы добавить Сару в наш существующий словарь
  • Теперь запустите код, он добавляет Сару в наш существующий словарь

Удалить ключи из словаря

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

Пример 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
  • Когда код выполнен, он удалил Чарли из основного словаря

Словарь элементов () Метод

Метод items () возвращает список пар кортежей (Keys, Value) в словаре.

Пример 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.
  • Когда код был выполнен, он возвращает список элементов (ключей и значений) из словаря

Проверьте, существует ли данный ключ в словаре

Для данного списка вы также можете проверить, существует ли наш дочерний словарь в главном словаре или нет. Здесь у нас есть два под-словаря «Boys» и «Girls», теперь мы хотим проверить, существует ли наш словарь Boys в нашем основном «Dict» или нет. Для этого мы используем метод forloop с методом 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 Dict.keys():
    if key in Boys.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(Dict.keys()):
    if key in list(Boys.keys()):
        print(True)
    else:       
        print(False)
  • Forloop в коде проверяет каждый ключ в главном словаре для ключей Boys
  • Если он существует в главном словаре, он должен вывести true, иначе он должен вывести false
  • Когда вы выполните код, он напечатает «True» три раза, так как мы получили три элемента в нашем словаре «Boys»
  • Таким образом, это означает, что «Мальчики» существуют в нашем главном словаре (Dict)

Сортировка словаря

В словаре вы также можете отсортировать элементы. Например, если мы хотим напечатать название элементов нашего словаря в алфавитном порядке, мы должны использовать forloop. Это отсортирует каждый элемент словаря соответственно.

Пример 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]))))
  • Мы объявили переменную студентов для нашего словаря «Dict».
  • Затем мы используем код Students.sort, который будет сортировать элемент внутри нашего словаря.
  • Но чтобы отсортировать каждый элемент в словаре, мы запускаем forloop, объявив переменную S
  • Теперь, когда мы выполним код, forloop будет вызывать каждый элемент из словаря и печатать строку и значение в порядке

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 для сравнения значений и ключей двух словарей. Если метод возвращает 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. В нашем случае мы сначала объявили «Girls», поэтому оно будет рассматриваться как словарь 1, а boys как словарь 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 ([другой])
Предметы() Возвращает список пар кортежей (Ключи, Значение) в словаре. dictionary.items ()
Сортировать() Вы можете отсортировать элементы dictionary.sort ()
LEN () Дает количество пар в словаре. Len (ДИКТ)
CMP () Сравните значения и ключи двух словарей cmp (dict1, dict2)
Str () Сделать словарь в формате для печати строки Ул (ДИКТ)

Резюме:

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

  • Ключи будут одним элементом
  • Значения могут быть списком или списком в списке, числами и т. Д.
  • Не допускается более одной записи для каждого ключа (дубликат ключа не допускается)
  • Значения в словаре могут быть любого типа, в то время как ключи должны быть неизменяемыми, как числа, кортежи или строки.
  • Ключи словаря чувствительны к регистру. То же имя ключа, но с другим регистром в словарях Python рассматривается как разные ключи.