Up

Что нужно знать о словарях в Python
386
26.10.2023
26
OCT
26.10.2023

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

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


Содержание ▼      

Что такое словари




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

Ключ и значение разделяются двоеточием, пары ключ-значения отделяются запятыми, а словарь целиком ограничивается фигурными скобками {}.

Если простыми словами это что-то вроде телефонной книги, где под каждым номером скрывается какой-то человек.




Только на языке разработчиков номера называют ключами, а людей, которым они принадлежат, — значениями.


Для каких целей нам будут полезны словари




  • Подсчет каких-то предметов, где ключи – названия предметов, а объект – их количество.
  • Для экономии памяти, если есть массив, который использует не все индексы по порядку.
  • Установка соответствий между объектами, сортировка.
  • Хранение данных разных объектов (например: ключ – ID пользователя ВКонтакте, а объект – массив с данными).

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

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


Создание словаря




Создание словаря в Python оформляются фигурными скобками. Внутри них находятся пары «ключ — значение». Первым пишется ключ, а затем, через двоеточие, — значение.

Сами пары отделяются друг от друга запятыми.


dict = {
           'Fortnite' : 'Epic Games',
           'Grand Theft Auto V' : 'Rockstar Games'
          }


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


dict = {
          'Fortnite',
          'Grand Theft Auto V'
          }


Выведем на экран элементы словаря с помощью функции print:


print(dict)
          {'Fortnite', 'Grand Theft Auto V'}


Показались только ключи. Теперь попробуем вывести полноценный словарь со значениями:


dict = {
          'Fortnite' : 'Epic Games',
          'Grand Theft Auto V' : 'Rockstar Games'
          }
print(dict)
          {'Fortnite' : 'Epic Games', 'Grand Theft Auto V' : 'Rockstar Games'}


Методы словаря Python




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

copy() – создание копии словаря


dict1 = {
          'car' : 'машина',
          'apple' : 'яблоко',
          'orange' : 'апельсин'
          }
dict2 = dict1.copy()
print(dict2) #Выведет {'car' : 'машина', 'apple' : 'яблоко', 'orange' : 'апельсин'}


get() – получение значения по ключу


dict = {
          'car' : 'машина',
          'apple' : 'яблоко',
          'orange' : 'апельсин'
          }
print(dict.get('car')) #Выведет 'машина'


clear() – очистка словаря


dict = {
          'car' : 'машина',
          'apple' : 'яблоко',
          'orange' : 'апельсин'
          }
dict.clear()
print(dict) #Выведет {}


keys() – получение всех ключей словаря


dict = {
          'car' : 'машина',
          'apple' : 'яблоко',
          'orange' : 'апельсин'
          }
print(dict.keys()) #Выведет dict_keys(['car', 'apple', 'orange'])


values() – получение всех значений элементов словаря


dict = {
          'car' : 'машина',
          'apple' : 'яблоко',
          'orange' : 'апельсин'
          }
print(dict.values()) #Выведет dict_values(['машина', 'яблоко', 'апельсин'])


items() – получение всех элементов словаря, включая ключи


dict = {
          'car' : 'машина',
          'apple' : 'яблоко',
          'orange' : 'апельсин'
          }
print(dict.items()) #Выведет dict_items([('car', 'машина'), ('apple', 'яблоко'), ('orange', 'апельсин')])


pop() – удаляет и возвращает значение ключа


dict = {
          'car' : 'машина',
          'apple' : 'яблоко',
          'orange' : 'апельсин'
          }
print(dict.pop('car')) #Выведет 'машина'
print(dict) #Выведет {'apple' : 'яблоко', 'orange' : 'апельсин'}


popitem() – удаляет и возвращает имя и значение ключа


dict = {
          'car' : 'машина',
          'apple' : 'яблоко',
          'orange' : 'апельсин'
          }
print(dict.pop()) #Выведет ('orange', 'апельсин')
print(dict) #Выведет {'car' : 'машина', 'apple' : 'яблоко'}


setdefault() – получение значения по ключу, если такой ключ присутствует в словаре. Когда такого ключа нет, он создается со значением None (если оно не указано в свойствах). Рассмотрим на примере:


dict = {
          'car' : 'машина',
          'apple' : 'яблоко',
          'orange' : 'апельсин'
          }
print(dict.setdefault('car') #Выведет 'машина'
print(dict.setdefault('home', 'дом') #Выведет 'дом'
print(dict) #Выведет {'car' : 'машина', 'apple' : 'яблоко', 'orange' : 'апельсин', 'home' : 'дом'}


update({}) – обновить значения по ключам, добавление новых ключей:


dict = {
          'car' : 'машина',
          'apple' : 'яблоко',
          'orange' : 'апельсин'
          }
dict.update({'car' : 'автомобиль', 'home' : 'дом'})
print(dict) #Выведет {'car' : 'автомобиль', 'apple' : 'яблоко', 'orange' : 'апельсин', 'home' : 'дом'}


Лучше не заучивать голую теорию, а сразу отрабатывать знания на практике. Начать можно, например, с бесплатных упражнений на stepik.org А чтобы быстро находить нужный метод и не ходить каждый раз в гугл, можете уже полноценно начать обучаться в школе программирования CODDY. Наставники помогут вам разобрать все ваши ошибки, и разложат все ваши знания по полкам.


Работа со словарями




Изменение словаря

Добавим в наш словарь объект. Для этого нам нужно придумать значение ключу. Рассмотрим на примере:


dict = {
          'car' : 'машина',
          'apple' : 'яблоко'
          }
dict['orange'] = 'апельсин' #В квадратных скобках указываем имя ключа, а значение после знака равно
print(dict) #Выведет {'car' : 'машина', 'apple' : 'яблоко', 'orange' : 'апельсин'}


Для удаления ключа и его объекта в словаре используют метод del, указывая имя ключа в квадратных скобках:


dict = {
          'car' : 'машина',
          'apple' : 'яблоко',
          'orange' : 'апельсин'
          }
del dict['orange']
print(dict) #Выведет {'car' : 'машина', 'apple' : 'яблоко'}


Перебор элементов словарей в Python

Для вывода всех ключей и значений по порядку используем цикл с оператором in:


dict = {
          'car' : 'машина',
          'apple' : 'яблоко',
          'orange' : 'апельсин'
          }
for key in dict:
print(key, dict[key])
#Выведет:
#car машина
#apple яблоко
#orange апельсин


Для вывода значения по ключу используем имя словаря и квадратные скобки с именем нужного ключа:


dict = {
          'car' : 'машина',
          'apple' : 'яблоко',
          'orange' : 'апельсин'
          }
print(dict['car']) #Выведет 'машина'


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


Давайте исследовать и воплощать магию с помощью словарей!

Read more!
25.02.2025
How "Claude" became the Favorite chatbot among tech Insiders
Is artificial intelligence just a tool or something more? We're talking about a new AI assistant that IT specialists love more than ChatGPT.
08.11.2024
These free programs will make your life easier: the best analogs of paid applications
Read about free similar traditional applications that will help you not to waste extra money and time. The selection includes services that are almost as good as the originals.
16.10.2024
iOS or Android development
Want your child to write interesting programs and know how to configure the Internet on your phone? Read about how you can achieve this with iOS and Android development.
27.09.2024
VR and AR technologies: concept, differences and application
What are digital realities and how glasses, helmets and cameras help make the world a better place not only through computer games.
Comments
No comments
Leave your comment
Your comment has been accepted and must be moderated!
The limit for sending comments has been reached
venues
Sign up for a course
Registration completed successfully!
An error occurred. Please inform the administrator
You have sent many applications. try later
This field is required
Invalid e-mail entered
+1
This field is required
Promocode not applied
Promocode applied
Trial lesson
Registration completed successfully!
An error occurred. Please inform the administrator
You have sent many applications. try later
Your name and surname
This field is required
Your e-mail
Invalid e-mail entered
Your phone
+1
This field is required
Promo сode
Promocode not applied
Promocode applied
Registration completed successfully!
An error occurred. Please inform the administrator
You have sent many applications. try later
Your name and surname
This field is required
My city
This field is required
Your e-mail
Invalid e-mail entered
Message
This field is required
Pre-entry
Registration completed successfully!
An error occurred. Please inform the administrator
You have sent many applications. try later
Your name and surname
This field is required
Child's name
This field is required
My city
This field is required
Your phone
This field is required
Your e-mail
Invalid e-mail entered
Start month
May 2025
June 2025
July 2025
Request a call
Thank you, the administrator will contact you as soon as possible.
Something went wrong, try to send the request later.
You have sent many applications. try later
Your name and surname
This field is required
Your phone
+1
This field is required
Something went wrong, try to send the request later.
You have sent many applications. try later
Your name and surname
This field is required
Your phone
This field is required
Pay for the classes
An error occurred. Please inform the administrator
You have sent many applications. try later
Name and surname of the child
This field is required
Your e-mail
Invalid e-mail entered
The amount of payment
Please type an integer number
Give feedback
Thank you for your feedback.
Something went wrong, try to send the request later.
You have sent many applications. try later
Your name and surname
This field is required
Your e-mail
Invalid e-mail entered
Your photo
Rate school
Rate teacher
Review
This field is required
Registration completed successfully!
Close
For registration and with any questions, please contact us by phone +7 (495) 106-60-11 or email info@coddyschool.com
Close
Close
Выберите языкChoose a languageТілді таңдаңызВиберіть мовуSélectionnez la langueSprache wählen
Choose a language
RU
EN
KZ
UA
FR
DE
OK
Preview