Методы словарей на Python
На прошлом уроке, мы научились создавать словари, добавлять и удалять элементы из словаря. Теперь нужно научиться работать со словарями, что-то с ними делать. Для полноценной работы со словарями в Python существует много полезных методов. Некоторые из них, мы сейчас рассмотрим.
Метод clear()
Метод clear() удаляет все элементы из словаря и не принимает никаких параметров.
my_count = {
10: 'десять',
11: 'одиннадцать',
12: 'двенадцать',
13: 'тринадцать'
}
my_count.clear()
print(my_count)
{} // возвращает пустой словарь
Метод get()
Метод get() возвращает значение по указанному ключу в параметрах. Название ключа всегда должно быть уникальным. В случае обращения по несуществующему ключу, Python вернет значение None. С помощью метода get(), можно проверять, есть ли такой ключ в словаре. И если есть, то мы получим значение по ключу.
first_count = {
14: 'четырнадцать',
15: 'пятнадцать',
16: 'шестнадцать'
}
print(first_count.get(15))
пятнадцать // выведет на экран
Метод pop()
В параметрах метода pop() передается ключ, а возвращается значение.
second_count = {
17: 'семнадцать',
18: 'восемнадцать',
19: 'девятнадцать'
}
print(second_count.pop(17))
семнадцать // распечаталось на экране
Из списка удалилась пара целиком. Метод pop() удаляет элемент из словаря, ключ которого, передается в параметрах. Попытка передать элемент без параметра или с несуществующим параметром приведет к возникновению ошибки.
print(second_count)
{18: 'восемнадцать', 19: 'девятнадцать'}
Метод popitem()
Метод popitem() не принимает никаких параметров и удаляет из словаря случайное значение. При каждом обращении, удаляет новый элемент случайным образом.
third_count = {
20: 'двадцать',
21: 'двадцать один',
22: 'двадцать два'
}
print(third_count.popitem())
(22, 'двадцать два') // возвращает случайный элемент
Посмотрим, что осталось в словаре:
print(third_count)
{20: 'двадцать', 21: 'двадцать один'}
Метод keys()
При помощи метода keys(), можно получить все ключи из словаря.
fourth_count = {
23: 'двадцать три',
24: 'двадцать четыре',
25: 'двадцать пять'
}
print(fourth_count.keys())
dict_keys([23, 24, 25]) // вывод на экран
Метод values()
При помощи метода values(), можно получить все значения ключей из словаря.
fifth_count = {
26: 'двадцать шесть',
27: 'двадцать семь',
28: 'двадцать восемь'
}
print(fifth_count.values())
// Вывод всех значений
dict_values(['двадцать шесть', 'двадцать семь', 'двадцать восемь'])
Метод items()
Метод items() возвращает все элементы "ключ-значение" из словаря.
sixth_count = {
29: 'двадцать девять',
30: 'тридцать',
31: 'тридцать один'
}
print(sixth_count.items()
// Вывод всех элементов
dict_items([(29, 'двадцать девять'), (30, 'тридцать'), (31, 'тридцать один')])
Сортировка словаря по ключам
Мы создали словарь age, состоящий из пар: ключ (имя) - значение (возраст). Функция sorted пройдется в цикле for и отсортирует ключи (имена) по алфавиту.
age = {
'Lorens': 29,
'Viktor': 30,
'Alex': 25
}
for i in sorted(age):
print(i,age[i])
Alex - 25
Lorens - 29
Viktor - 30
Практический пример в Python
Условие задачи:У нас есть список с чередованием строк и чисел. Необходимо из списка создать словарь, где ключами будут строки, а значениями - списки из чисел.
cars_list = ['volvo', 1995, 5,'audi', 2019, 4, 'mazda', 2010]
Решение:
# Создадим пустой словарь
cars_dict = {}
# Переменная с пустым значением для обнаруженных строк
place_str = None
# Перебор элементов из списка в цикле с целью выяснить, текущий элемент строка или число. Если строка, то выполняется первый блок условия if (создание списка из чисел в качестве значений словаря), если число, то выполнится второй блок (else).
for element in cars_list:
if(type(element) == str):
cars_dict(element) = []
place_str = element
else:
cars_dist[place_str].append(element) # добавление элемента в пустой список
print(cars_dist)
# Создался словарь с парами "ключ - значение"
{'volvo': [1995, 5], 'audi': [2019, 4], 'mazda': [2010]}
-
- Михаил Русаков
Комментарии (1):
Привет! В последнем примере, после 'else:', ошибка - вместо dict указано dist. Вот здесь: else: cars_diSt[place_str].append(element) # добавление элемента в пустой список
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.