Как изменить данные в словаре python
Перейти к содержимому

Как изменить данные в словаре python

  • автор:

№12 Словарь (dict) / Уроки по Python для начинающих

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

thisdict =  "brand": "Ford", "model": "Mustang", "year": 1964 > print(thisdict) 

Доступ к элементам

Вы можете получить доступ к элементам словаря ссылаясь на его ключевое название.
Получим значение по ключу “model” :

x = thisdict["model"] 

Существует так же метод под названием get() который даст вам тот же результат.

x = thisdict.get("model") 

Изменить значение

Вы можете поменять значение указанного элемента ссылаясь на ключевое название.
Поменяем “year” на “2018”:

thisdict =  "brand": "Ford", "model": "Mustang", "year": 1964 > thisdict["year"] = 2018 print(thisdict) 

Цикл for по словарю

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

for x in thisdict: print(x) 
brand model year 

Выведем значения словаря, один за одним:

for x in thisdict: print(thisdict[x]) 
Ford Mustang 1964 

Вы так же можете использовать функцию values() для возврата значений словаря:

for x in thisdict.values(): print(x) 
Ford Mustang 1964 

Пройдем по ключам и значениям, используя функцию items() :

for x, y in thisdict.items(): print(x, y) 
brand Ford model Mustang year 1964 

Длина словаря

Для того, чтобы определить сколько элементов есть в словаре, используйте метод len() .

print(len(thisdict)) 

Добавление элементов

Добавление элементов в словарь выполняется с помощью нового ключа:

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() Возвращает список всех значений в словаре

Артём Санников

Данная книга является руководством для начинающих специалистов в области анализа и обработки данных. В книге рассматривается язык SQL и его процедурное расширение PL/SQL от компании Oracle.

Главная › Языки программирования › Python › Словари › Изменение значений в словаре Python

Изменение значений в словаре Python

Чтобы изменить значение в словаре, необходимо указать имя словаря с ключом в квадратных скобках [ ] , а затем новое значение, которое должно быть связано с этим ключом.

В качестве примера, обновим значение ключа weight в словаре man

# Словарь с параметрами мужчины man = # Изменяем значение ключа weight man[«weight»] = «100» # Выводим обновленный словарь print(man) # Финальный результат в консоли

Записи по теме

  • Словарь в словаре Python
  • Список в словаре Python
  • Список словарей в Python
  • Перебор всех значений в словаре Python
  • Упорядоченный перебор словаря в Python
  • Перебор всех ключей в словаре Python
  • Перебор всех пар «ключ-значение» в словаре Python
  • Удаление пар «ключ-значение» в словаре Python

Возможно ли изменить значение ключа в словаре?

Возможно ли, не создавая новых элементов словаря, изменить значение какого-либо из его ключей? Вопрос чисто теоретический, на практике такой необходимости у меня не возникало. Интересует в первую очередь Python 3.6+

Отслеживать
задан 17 окт 2018 в 22:28
23 1 1 золотой знак 1 1 серебряный знак 5 5 бронзовых знаков
Если вам помог ответ, примите его пожалуйста.
18 окт 2018 в 6:07
почитайте про хэш-таблицы — расширьте видение происходящего при работе со словарями
18 окт 2018 в 7:41

@EugeneDennis, спасибо, почитал. Но пока остаётся недопонимание: в качестве ключа словаря можно использовать пользовательский объект, который в общем случае изменяем (mutable), как при этом не меняется хэш-значение?

20 окт 2018 в 21:38

пользовательский объект может иметь методы __hash__() или __eq__ , __cmp__ , тогда его можно будет использовать в качестве ключа, по умолчанию пользовательский класс можно использовать в качестве словаря, но там берётся self.id , а он у двух одинаковых классов разный, поэтому для использования это мало где пригодиться

Изменение ключа в словаре Python

Словари в Python — это вид коллекций, которые позволяют хранить данные в формате пары ключ-значение. Каждый ключ в словаре уникален и ссылается на определенное значение. Иногда, в процессе работы, может возникнуть необходимость изменить один из ключей в словаре.

Рассмотрим пример. Есть словарь, который содержит список студентов и их оценки за экзамен:

students =

Пусть нужно изменить ключ «John» на «Johnny». В Python нет прямого способа для изменения ключа в словаре, но это можно сделать, используя косвенный подход.

Первый способ — создать новую пару ключ-значение с новым ключом и тем же значением, а затем удалить старую пару:

students["Johnny"] = students["John"] del students["John"]

Этот метод работает, но он может быть неэффективным, если словарь очень большой, так как операция удаления может занять время.

Второй способ — использовать метод pop() , который удаляет элемент из словаря и возвращает его значение. Затем можно добавить новую пару ключ-значение:

students["Johnny"] = students.pop("John")

Этот метод более эффективен, так как он выполняет обе операции (удаление и добавление) за один шаг.

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *