- №12 Словарь (dict) / Уроки по Python для начинающих
- Доступ к элементам
- Изменить значение
- Цикл for по словарю
- Длина словаря
- Добавление элементов
- Удаление элементов
- Конструктор dict()
- Методы словаря
- Как распечатать элементы словаря в Python
- Распечатать словарь, как одну строку
- Как распечатать пары ключ:значение?
- Печать ключей словаря
- Печать значения словаря
- Словари в Python и методы работы с ними
- Что такое словарь
- Для каких целей нам будут полезны словари?
- Создание словаря в Python
- Изменение словаря
- Перебор элементов словарей в Python
- Методы словарей в Python
- Итог
№12 Словарь (dict) / Уроки по Python для начинающих
Словарь — неупорядоченная последовательность, гибким к изменениям и индексированным. В Python словари пишутся в фигурных скобках, и состоят из ключей и значений.
Создадим и выведем словарь:
thisdict = "brand": "Ford", "model": "Mustang", "year": 1964 > print(thisdict)
Доступ к элементам
Вы можете получить доступ к элементам словаря ссылаясь на его ключевое название.
Получим значение по ключу “model” :
Существует так же метод под названием get() который даст вам тот же результат.
Изменить значение
Вы можете поменять значение указанного элемента ссылаясь на ключевое название.
Поменяем “year” на “2018”:
thisdict = "brand": "Ford", "model": "Mustang", "year": 1964 > thisdict["year"] = 2018 print(thisdict)
Цикл for по словарю
При проходе по словарю вы получите его ключи, но так же есть методы для возврата значений.
Выведем один за другим все ключи словаря:
Выведем значения словаря, один за одним:
for x in thisdict: print(thisdict[x])
Вы так же можете использовать функцию values() для возврата значений словаря:
for x in thisdict.values(): print(x)
Пройдем по ключам и значениям, используя функцию items() :
for x, y in thisdict.items(): print(x, y)
brand Ford model Mustang year 1964
Длина словаря
Для того, чтобы определить сколько элементов есть в словаре, используйте метод len() .
Добавление элементов
Добавление элементов в словарь выполняется с помощью нового ключа:
thisdict = "brand": "Ford", "model": "Mustang", "year": 1964 > thisdict["color"] = "red" print(thisdict)
Удаление элементов
Существует несколько методов удаления элементов из словаря.
Метод pop() удаляет элемент по ключу и возвращает его:
thisdict = "brand": "Ford", "model": "Mustang", "year": 1964 > thisdict.pop("model")
Метод popitem() удаляет последний элемент:
thisdict = "brand": "Ford", "model": "Mustang", "year": 1964 > thisdict.popitem()
Ключевое слово del удаляет элемент по ключу:
thisdict = "brand": "Ford", "model": "Mustang", "year": 1964 > del thisdict["model"] print(thisdict)
Ключевое слово del может так же удалить полностью весь словарь:
thisdict = "brand": "Ford", "model": "Mustang", "year": 1964 > del thisdict print(thisdict) #это вызывает ошибку, так как "thisdict" больше не существует.
Ключевое слово clear() очищает словарь:
thisdict = "brand": "Ford", "model": "Mustang", "year": 1964 > thisdict.clear() print(thisdict)
Конструктор dict()
Вы так же можете использовать конструктор dict() для создания нового словаря.
thisdict = dict(brand="Ford", model="Mustang", year=1964) # обратите внимание, ключевые слова не являются строками # обратите внимание на использование "рвно", вместо двоеточия для задания print(thisdict)
Методы словаря
В Python существует набор встроенных методов, с помощью которых вы можете работать со словарями.
Метод | Значение |
---|---|
clear() | Удаляет все элементы из словаря |
copy() | Делает копию словаря |
fromkeys() | Возвращает словарь с указанными ключами и значениями |
get() | Возвращает значение по ключу |
items() | Возвращает список, содержащий tuple для каждой пары ключ-значение |
keys() | Возвращает список, содержащий ключи словаря |
pop() | Удаляет элементы по ключу |
popitem() | Удаляет последнюю пару ключа со значением |
setdefault() | Задает значение по ключу. Если ключа нет в словаре, добавляет его с указанным значением или None |
update() | Обновляет словарь, добавляя пары ключ-значение |
values() | Возвращает список всех значений в словаре |
Как распечатать элементы словаря в Python
Чтобы напечатать элементы словаря пары ключ:значение, вы можете использовать dict.items(), dict.keys() или dict.values.(), функцию print().
В этом руководстве мы рассмотрим примеры программ, чтобы напечатать словарь как одну строку, словарь пары ключ:значений по отдельности, ключи словаря и значения словаря.
Распечатать словарь, как одну строку
Чтобы распечатать все содержимое словаря, вызовите функцию print() со словарем, переданным в качестве аргумента. print() преобразует словарь в одностроковый литерал и выводит на стандартный вывод консоли.
В следующей программе мы инициализируем словарь и распечатаем его целиком.
dictionary = print(dictionary)
Как распечатать пары ключ:значение?
Чтобы распечатать пары ключ:значение в словаре, используйте цикл for и оператор печати для их печати. dict.items() возвращает итератор для пар ключ:значение во время каждой итерации.
В следующей программе мы инициализируем словарь и распечатаем пары ключ:значение словаря с помощью цикла For Loop.
dictionary = for key,value in dictionary.items(): print(key, ':', value)
Печать ключей словаря
Чтобы напечатать ключи словаря, используйте цикл for для обхода ключей с помощью итератора dict.keys() и вызова функции print().
В следующей программе мы инициализируем словарь и распечатаем ключи словаря с помощью For Loop.
dictionary = for key in dictionary.keys(): print(key)
Печать значения словаря
Чтобы распечатать значения словаря, используйте цикл for для просмотра значений словаря с помощью итератора dict.values() и вызова функции print().
В следующей программе мы инициализируем словарь и распечатаем значения словаря с помощью For Loop.
dictionary = for value in dictionary.values(): print(value)
Словари в Python и методы работы с ними
В одной из прошлых статей я разбирал списки в Python и методы работы с ними. Сегодня мы узнаем, как работать со словарями в Python и изучим их методы.
Что такое словарь
Словари (dict) хранят в себе ключи и их объекты, где ключ – это имя объекта в словаре. Их могут называть ассоциативными массивами или хеш-таблицами.
Как мы знаем, в списках доступ к элементам осуществляется по индексу, который является неотрицательным числом. Индекс в списках создается автоматически при добавлении новых элементов, а индексами в словарях служат ключи, и их мы должны объявлять сами.
Для каких целей нам будут полезны словари?
- Подсчет каких-то предметов, где ключи – названия предметов, а объект – их количество.
- Для экономии памяти, если есть массив, который использует не все индексы по порядку.
- Установка соответствий между объектами, сортировка.
- Хранение данных разных объектов (например: ключ – ID пользователя ВКонтакте, а объект – массив с данными).
Ключом может быть произвольный неизменяемый тип данных: различные числа, строки, кортежи. Ключом в словаре не может быть множество, но может быть неизменяемый элемент типа frozenset. Значением элемента словаря может быть любой изменяемый или неизменяемый тип данных.
Создание словаря в Python
Пустой словарь в Python, как и в JavaScript, можно создать двумя способами: через функцию dict() или с помощью фигурных скобок. Рассмотрим на примере:
#Создание через функцию: dict1 = dict() #Создание через фигурные скобки: dict2 = <> print(type(dict1)) #Выведет print(type(dict2)) #Выведет print(dict1) #Выведет <> print(dict2) #Выведет <>
Теперь создадим уже заполненный словарь через функцию и фигурные скобки:
#Создание через функцию: dict1 = dict(car=’машина’, apple=’яблоко’) #Создание через фигурные скобки: dict2 = < 'car': 'машина', 'apple': 'яблоко' >print(dict1) #Выведет print(dict2) #Выведет
Изменение словаря
Добавим в наш словарь объект. Для этого нам нужно придумать значение ключу. Рассмотрим на примере:
dict = < 'car': ‘машина’, 'apple': 'яблоко' >dict[‘orange’] = ‘апельсин’ #В квадратных скобках указываем имя ключа, а значение после знака равно print(dict) #Выведет
Для удаления ключа и его объекта в словаре используют метод del, указывая имя ключа в квадратных скобках:
dict = < 'car': 'машина', 'apple': 'яблоко', 'orange': 'апельсин' >del dict[‘orange’] print(dict) #Выведет
Перебор элементов словарей в Python
Для вывода всех ключей и значений по порядку используем цикл с оператором in:
dict = < 'car': 'машина', 'apple': 'яблоко', 'orange': 'апельсин' >for key in dict: print(key, dictPython вывести элемент словаря) #Выведет: #car машина #apple яблоко #orange апельсин
Для вывода значения по ключу используем имя словаря и квадратные скобки с именем нужного ключа:
dict = < 'car': 'машина', 'apple': 'яблоко', 'orange': 'апельсин' >print(dict['car']) #Выведет 'машина'
Методы словарей в Python
copy() – создание копии словаря. Рассмотрим на примере:
dict1 = < 'car': 'машина', 'apple': 'яблоко', 'orange': 'апельсин' >dict2 = dict1.copy() print(dict2) #Выведет
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) #Выведет
popitem() – удаляет и возвращает имя и значение ключа. Пример:
dict = < 'car': 'машина', 'apple': 'яблоко', 'orange': 'апельсин' >print(dict.pop()) #Выведет (‘orange’, ‘апельсин’) print(dict) #Выведет
setdefault() – получение значения по ключу, если такой ключ присутствует в словаре. Когда такого ключа нет, он создается со значением None (если оно не указано в свойствах). Рассмотрим на примере:
dict = < 'car': 'машина', 'apple': 'яблоко', 'orange': 'апельсин' >print(dict.setdefault(‘car’) #Выведет ‘машина’ print(dict.setdefault(‘home’, ‘дом’) #Выведет ‘дом’ print(dict) #Выведет
update(<>) – обновить значения по ключам, добавление новых ключей:
dict = < 'car': 'машина', 'apple': 'яблоко', 'orange': 'апельсин' >dict.update() print(dict) #Выведет
Итог
Мы изучили словари в Python и методы работы с ними. Надеюсь, статья была полезной для вас. Удачи!