Интересное

Словари в Python и методы работы с ними

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

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

Словари (dict) хранят в себе ключи и их объекты, где ключ – это имя объекта в словаре. Их могут называть ассоциативными массивами или хеш-таблицами.

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

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

  • Подсчет каких-то предметов, где ключи – названия предметов, а объект – их количество.

  • Для экономии памяти, если есть массив, который использует не все индексы по порядку.

  • Установка соответствий между объектами, сортировка.

  • Хранение данных разных объектов (например: ключ – ID пользователя ВКонтакте, а объект – массив с данными).

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

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

Пустой словарь в Python, как и в JavaScript, можно создать двумя способами: через функцию dict() или с помощью фигурных скобок. Рассмотрим на примере:

 #Создание через функцию: dict1 = dict() #Создание через фигурные скобки: dict2 = {}  print(type(dict1)) #Выведет <class 'dict'> print(type(dict2)) #Выведет <class 'dict'> print(dict1) #Выведет {} print(dict2) #Выведет {} 

Теперь создадим уже заполненный словарь через функцию и фигурные скобки:

 #Создание через функцию: dict1 = dict(car='машина', apple='яблоко') #Создание через фигурные скобки: dict2 = { 'car': 'машина', 'apple': 'яблоко' }  print(dict1) #Выведет {'car': 'машина', 'apple': 'яблоко'} print(dict2) #Выведет {'car': 'машина', 'apple': 'яблоко'} 

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

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

 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

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.popitem()) #Выведет ('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': 'дом'} 

Итог

Мы изучили словари в Python и методы работы с ними. Надеюсь, статья была полезной для вас. Удачи!

Межтекстовые Отзывы
Посмотреть все комментарии
guest

Как создать туристический сайт

Разработка #Веб-дизайн #Контент #Конструктор Туристический сайт – это важный интернет-источник для людей, планирующих путешествия. Его основная цель – познакомить...

Лучшие IDE и редакторы кода для Python

Разработка #Программы #IDE #Редакторы кода #Python Писать программный код можно хоть карандашом на листке бумаги. Рационально ли это?...

Как правильно использовать enum в C#

Разработка #C/C#/C++ #Разбор В C# есть много интересных возможностей, помогающих разработчикам писать код на языке, который похож на...

Что такое User agent и как его изменить

Разработка #Браузеры #Веб-дизайн #Безопасность Во время взаимодействия с браузером пользователь может встретить такое понятие, как User agent. Используется...

Что такое язык программирования

Разработка #C/C#/C++ #Программы #Обзор #Веб-дизайн #Java Программа на компьютере или смартфоне – это последовательность команд, которую создавали с...

В Windows 11 добавится поддержка USB 4 2.0 со скоростью передачи данных до 80 Гбит/с

Новости #Обновления #Windows Реклама. ООО «ТаймВэб». erid: LjN8K8PQJ Корпорация Microsoft начала распространять пакет функциональных обновлений KB5034848 для Windows 11...

Обзор Vue.js

Разработка #Фреймворки #Обзор #JavaScript Vue.js или просто Vue – это прогрессивный JavaScript-фреймворк, который используется для создания пользовательских интерфейсов....

Какую CMS выбрать для простого сайта?

Разработка #WordPress #Bitrix #Drupal #Joomla! #OpenCart Для чего нужны CMS Система управления контентом, система управления содержимым, система управления...

Работаем с объектами в JavaScript

Разработка #Настройка #JavaScript В прошлой статье я рассказывал о массивах в JavaScript. Из нее мы можем понять, что...

Уровни языков программирования: краткий обзор

Разработка #Обзор #Технологии #Железо #Программы Рассказываю о том, почему языки программирования делятся на уровни, что эти уровни обозначают...

Как безопасно удалить неиспользуемый CSS в WordPress

Разработка #Плагины #WordPress #HTML/CSS #Оптимизация Неиспользуемый CSS – это код, который загружается при открытии страницы, но фактически не...

Как установить Git на Debian 10

Разработка #Серверы #OpenSource #Debian Система контроля версий (например, Git) позволяет регистрировать изменения в файлах, с которыми работают разработчики,...

Что такое скрипт

Разработка #Разбор #JavaScript #PHP #Windows Активные пользователи компьютера время от времени сталкиваются со словом «скрипт», не всегда понимая,...

Криптопрограммирование: особенности и перспективы

Разработка #Криптовалюта #Фреймворки #Обзор #Технологии Разработка – перспективное и денежное направление. Эта сфера привлекает все больше людей, даже...

Максимальная производительность 1С-Битрикс: Настройка виртуальной машины

Системы управления контентом (CMS) стали неотъемлемой частью современных веб-проектов, предоставляя множество возможностей для разработки и управления сайтами. 1С-Битрикс —...

Язык программирования Python: применение, особенности и перспективы

Разработка #Программы #Обзор #Технологии #Карьера #Python Сегодня поговорим о том, что такое Python, чем же он хорош и...

Основные элементы эффективной стратегии конверсии: UX, SEO и CRO

Автор: Питер Джоубс (Peter Jobes) – контент-менеджер, Solvid Digital. По мере выстраивания онлайн-присутствия бизнеса в интернете, применяемые маркетинговые стратегии...

PHP: работа с БД MySQL

Разработка #Серверы #MySQL #PHP #Базы данных Базы данных используются для удобного хранения информации, а также для её структурирования....

GitHub включил по умолчанию механизм защиты от утечек данных

Новости #GitHub #Сервисы #Безопасность Реклама. ООО «ТаймВэб». erid: LjN8K4hV8 Сервис GitHub включил защиту от попадания в публичный репозиторий приватных...

Сравнение 29 сервисов аналитики маркетплейсов: обзор, рейтинг

Обзор сервисов аналитики маркетплейсов Сравнение 29 сервисов аналитики маркетплейсов по 10 параметрам. Обзор, рейтинг лучших сервисов для аналитики...