Словник в Python із синтаксисом і прикладом

Що таке словник в Python?

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

  • Ключі будуть єдиним елементом
  • Значеннями можуть бути список або список у списку, числа тощо.

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

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

Словник вказано у фігурних дужках, усередині цих фігурних дужок оголошено ключі та значення. Кожен ключ відокремлюється від свого значення двокрапкою (:), а коми відокремлюють кожен елемент.

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

Властивості словникових ключів

Є два важливі моменти при використанні ключів словника

  • Більш ніж один запис для ключа заборонено (дублікати ключа не допускаються)
  • Значення в словнику можуть бути будь-якого типу, тоді як ключі мають бути незмінними, як числа, кортежі
  • Словникові ключі чутливі до регістру. Одна назва ключа, але з різними регістрами, розглядається як різні ключі 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, а дівчаток буде скопійовано в studentY
  • Тож тепер вам не потрібно переглядати весь список у головному словнику (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» не має назви «Sarah».
  • Ми використовуємо метод Dict.update, щоб додати Сару до нашого існуючого словника
  • Тепер запустіть код, він додасть Сару до нашого існуючого словника

Видалити ключі зі словника

Python dictionary дає вам можливість видалити будь-який елемент зі списку словника. Припустімо, що вам не потрібно ім’я Чарлі в списку, тому ви можете видалити ключовий елемент за допомогою наступного коду.

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)

Коли ви запускаєте цей код, він має надрукувати список словників без Charlie.

  • Ми використали код del Dict
  • Коли код виконується, він видаляє Чарлі з основного словника

Метод словникових елементів().

Метод 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.
  • Коли код було виконано, він повертає список елементів (ключі та значення) зі словника

Перевірте, чи даний ключ уже існує у словнику

Для певного списку ви також можете перевірити, чи існує наш дочірній словник в основному словнику чи ні. Тут у нас є два підсловники «Хлопчики» та «Дівчата», тепер ми хочемо перевірити, чи існує наш словник Хлопчики в нашому головному «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)
  • Команда форлуп у коді перевіряє кожен ключ у головному словнику на ключі 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]))))
  • Ми оголосили змінну students для нашого словника «Dict».
  • Потім ми використовуємо код Students.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 Метод List 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. У нашому випадку ми спочатку оголосили «Дівчата», тому він вважатиметься словником 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)
  • Він поверне елементи словника у формат рядка для друку

Ось список усіх словникових методів

Метод Опис синтаксис
copy () Скопіюйте весь словник до нового словника dict.copy()
update () Оновіть словник, додавши новий запис або пару ключ-значення до наявного запису або видаливши існуючий запис. Dict.update([інше])
елементи () Повертає список пар кортежів (ключі, значення) у словнику. dictionary.items()
сортувати () Ви можете сортувати елементи dictionary.sort()
len () Видає кількість пар у словнику. len(dict)
cmp() Порівняйте значення та ключі двох словників cmp(dict1, dict2)
Str() Зробіть словник у форматі рядка для друку Str(dict)

Об’єднання словників

Тут ви зрозумієте, як об'єднати два поданих словника в один словник.

У мене є два словники, як показано нижче:

Словник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 і створимо єдиний словник з namemy_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 і далі)

** називається Kwargs in 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 словники.