Меню Закрыть

Python dict remove item

Содержание

Dictionary in Python is an unordered collection of data values, used to store data values like a map, which unlike other Data Types that hold only single value as an element, Dictionary holds key:value pair. Keys of a Dictionary must be unique and of immutable data type such as Strings, Integers and tuples, but the key-values can be repeated and be of any type.

Let’s see how to delete items from a dictionary while iterating over it.

Method #1: Using del() method

The above code works fine for Python2, but when we run it with Python3, it throws following eoor:

This runtime error says changing the size of dictionary during iteration is not allowed(but it is possible). Now, let’s see all the different ways we can delete items from dictionary while iterating.

Method #2: Using Dictionary comprehension

Method #3: Using list(myDict)

Dictionary is used in manifold practical applications such as day-day programming, web development and AI/ML programming as well, making it a useful container overall. Hence, knowing shorthands for achieving different tasks related to dictionary usage always is a plus. This article deals with one such task of deleting a dictionary key-value pair from a dictionary.

Method 1 : Using del

del keyword can be used to inplace delete the key that is present in the dictionary. One drawback that can be thought of using this is that is raises an exception if the key is not found and hence non-existence of key has to be handled.

Code #1 : Demonstrating key-value pair deletion using del

    Коротко о главном, 9 апреля 2018 в 15:16
Читайте также:  Сколько держит зарядку эппл вотч

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

Словарь — неупорядоченная структура данных, которая позволяет хранить пары «ключ — значение». Вот пример словаря на Python:

Данный словарь использует строки в качестве ключей, однако ключом может являться в принципе любой неизменяемый тип данных. Значением же конкретного ключа может быть что угодно. Вот ещё один пример словаря, где ключами являются числа, а значениями — строки:

Важное уточнение: если вы попробуете использовать изменяемый тип данных в качестве ключа, то получите ошибку:

Прим. перев. На самом деле проблема не с изменяемыми, а с нехэшируемыми типами данных, но обычно это одно и то же.

Получение данных из словаря

Для получения значения конкретного ключа используются квадратные скобки [] . Предположим, что в нашем словаре есть пара ‘марафон’: 26 .

Опять же, вы получите ошибку, если попытаетесь получить значение по несуществующему ключу. Для избежания подобных ошибок существуют методы, о которых мы сейчас поговорим.

Добавление и обновление ключей

Добавление новых пар в словарь происходит достаточно просто:

Обновление существующих значений происходит абсолютно также:

Удаление ключей

Для удаления ключа и соответствующего значения из словаря можно использовать del

Методы

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

Update

Метод update() пригодится, если нужно обновить несколько пар сразу. Метод принимает другой словарь в качестве аргумента.

Если вас интересует, почему данные в словаре расположены не в том порядке, в котором они были внесены в него, то это потому что словари не упорядочены.

Метод get() возвращает значение по указанному ключу. Если указанного ключа не существует, метод вернёт None .

Метод можно использовать для проверки наличия ключей в словаре:

Читайте также:  Ресивер ямаха rx v363

Также можно указать значение по умолчанию, которое будет возвращено вместо None , если ключа в словаре не окажется:

Метод pop() удаляет ключ и возвращает соответствующее ему значение.

Метод keys() возвращает коллекцию ключей в словаре.

Values

Метод values() возвращает коллекцию значений в словаре.

Items

Метод items() возвращает пары «ключ — значение».

Итерация через словарь

Вы можете провести итерацию по каждому ключу в словаре.

Очевидно, вместо story_count можно использовать story_count.keys() .

В примере кода ниже ниже цикл for использует метод items() для получения пары «ключ — значение» на каждую итерацию.

О словаре и других типах данных Python можно почитать в нашей статье.

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.