Python: все про del

Инструкция del (от англ. delete), как можно понять из названия, нужна чтобы что-то удалять, а именно имена переменных, атрибуты объектов, элементы списков и ключи словарей. 1. Удаление элемента из списка по индексу: Также можно удалять по срезам. Пример: удаление первых двух элементов: Удаление последних n элементов: del x[n:]. Удаление элементов с четными индексами: del x[::2],…

Задача на ключи словаря

Имеется такой код, где мы делаем 5 записей в словарь: Давайте решим ее. Для ключа словаря нам важны две вещи: Хэш hash(key) – ключи с разными хэшами дадут нам разные записи в словаре. Равенство ключей – если хэши равны, то проверяется равенство ключей (==), и если и они равны, то считается, что ключ тот же…

О поиске в словарях

При разборе вложенных структур из словарей и списков (например, конфигов), удобно пользоваться блоком try-except. Ловим IndexError, если индекс отсутствует в списке, и KeyError, если ключ отсутствует в словаре. Однако, лучше ловить LookupError, который является предком обоих исключений: Пример: Независимо от того, не найден ли будет какой-то ключ словаря или индекс списка – будет поймана одна…

Munch – вседозволенный объект

Привет. Хочу познакомить вас библиотекой Munch, которая является форком более старой библиотеки Bunch. Рассмотрим суть проблемы, которую она решает. Задать атрибуты объекта, не описывая их по одному в конструкторе. Легче понять на примере: Видно, что object нам не поможет. Но в Python 3 можно сделать пустой класс, это не вызовет ошибки: И в принципе этого…

Генераторные выражения

Мы говорили про map и itertools.starmap, но я тут подумал… Зачем они, если есть замечательные генераторные выражения: Они умеют делать: генераторы, списки list, словари dict и множества set. Поддерживают вложенные циклы для обработки многомерных данных Умеют фильтровать данные, как filter Обладают лаконичным и понятным синтаксисом По-английски они называются в зависимости от типа данных на выходе:…