Интересное

Словари в 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

Что такое скрам-доска

Разработка #Программы #Обзор #Менеджмент #Оптимизация Поговорим об одном из наиболее часто используемых инструментов для повышения эффективности команды.  Что такое...

Авторское право на код – как работает, когда защищает и как его зарегистрировать

Разработка #Программы #Законы #Разбор Поговорим о том, как работает авторское право на код в России и за рубежом....

Микроразметка Open Graph: базовые принципы и настройка

Разработка #Социальные сети #Контент #HTML/CSS #SEO Микроразметка помогает роботам ориентироваться на страницах сайта и забирать для формирования поисковой...

Как сделать приложение из веб-сайта

Разработка #Плагины #Веб-дизайн #Сервисы #WordPress #Конструктор Разработчики популярных веб-ресурсов стараются сделать все возможное, чтобы клиентам было комфортно потреблять...

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

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

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

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

Тестирование программ: виды, этапы, принципы

Разработка #Программы #Обзор #Тестирование #Оптимизация Рассказываю о том, что отнимает большую часть времени при разработке приложений, а еще и об...

Что такое Data Science

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

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

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

Руководство по изучению Python

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

Как вставить картинку в HTML

Разработка #Авторское право #Фото/Видео #Редакторы кода #HTML/CSS Невозможно представить ни один сайт без визуальной составляющей, в часть которой...

Размещаем бота для Telegram: от выбора хостинга до запуска

Разработка #VDS #Telegram #Боты #JavaScript #Python Чат-боты для Telegram — простой, изящный и легковесный способ вывести общение с клиентами...

Что такое рефакторинг кода

Разработка #Обзор #Технологии #IDE #Редакторы кода #JavaScript Зачем разработчики на регулярной основе переписывают свой и чужой код, не...

Сравнение VPS и облачного хостинга для Bitrix

В современном мире веб-технологий выбор между VPS (виртуальным частным сервером) и облачным хостингом для системы управления контентом, такой...

Преимущества и недостатки WordPress

Разработка #Обзор #WordPress WordPress довольно старая система управления содержимым сайтов (сокращенно — CMS), вебмастера и администраторы с ней...

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

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

Обзор Vue.js

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

О CSS-препроцессорах и фреймворках: зачем они нужны и с чем их едят

Разработка #Фреймворки #Обзор #Технологии #HTML/CSS Сегодня поговорим о том, как можно сделать работу с CSS проще и удобнее,...

Выбор темы для интернет-магазина на WordPress

Разработка #Плагины #Интернет-магазин #Веб-дизайн #Шаблоны #WordPress «WordPress для блога!» — говорили они. «Но ведь… есть плагины и темы…»...

Как создать одностраничный сайт на Bootstrap (Mobirise)

Разработка #Программы #Веб-дизайн #Шаблоны #HTML/CSS #Конструктор Создание сайтов под ключ – отдельная профессия. Специалисты должны разбираться в верстке...