- Python Dictionary update() Method
- Syntax
- Parameter Values
- COLOR PICKER
- Report Error
- Thank You For Helping Us!
- Полезные методы для работы со словарями#
- get #
- setdefault #
- keys, values, items #
- del #
- update #
- Python Dictionary update()
- dict.update() Syntax:
- Frequently Asked:
- Examples of dict.update()
- Update value of a key in a dictionary in python
- The behavior of update() function, when passed a key that doesn’t exist in the dictionary
- Update values of multiple keys in a dictionary using update() function
- Update the key name in dictionary using update() function
- Related posts:
- Share your love
- Leave a Comment Cancel Reply
- Terms of Use
- Disclaimer
- Словари (dict) и работа с ними. Методы словарей
- Методы словарей
Python Dictionary update() Method
The update() method inserts the specified items to the dictionary.
The specified items can be a dictionary, or an iterable object with key value pairs.
Syntax
Parameter Values
Parameter | Description |
---|---|
iterable | A dictionary or an iterable object with key value pairs, that will be inserted to the dictionary |
COLOR PICKER
Report Error
If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:
Thank You For Helping Us!
Your message has been sent to W3Schools.
Top Tutorials
Top References
Top Examples
Get Certified
W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.
Полезные методы для работы со словарями#
В этом случае london2 это еще одно имя, которое ссылается на словарь. И при изменениях словаря london меняется и словарь london2, так как это ссылки на один и тот же объект.
Поэтому, если нужно сделать копию словаря, надо использовать метод copy():
In [10]: london = 'name': 'London1', 'location': 'London Str', 'vendor': 'Cisco'> In [11]: london2 = london.copy() In [12]: id(london) Out[12]: 25524512 In [13]: id(london2) Out[13]: 25563296 In [14]: london['vendor'] = 'Juniper' In [15]: london2['vendor'] Out[15]: 'Cisco'
get #
Если при обращении к словарю указывается ключ, которого нет в словаре, возникает ошибка:
In [16]: london = 'name': 'London1', 'location': 'London Str', 'vendor': 'Cisco'> In [17]: london['ios'] --------------------------------------------------------------------------- KeyError Traceback (most recent call last) ipython-input-17-b4fae8480b21> in module>() ----> 1 london['ios'] KeyError: 'ios'
Метод get запрашивает ключ, и если его нет, вместо ошибки возвращает None .
In [18]: london = 'name': 'London1', 'location': 'London Str', 'vendor': 'Cisco'> In [19]: print(london.get('ios')) None
Метод get() позволяет также указывать другое значение вместо None :
In [20]: print(london.get('ios', 'Ooops')) Ooops
setdefault #
Метод setdefault ищет ключ, и если его нет, вместо ошибки создает ключ со значением None .
In [21]: london = 'name': 'London1', 'location': 'London Str', 'vendor': 'Cisco'> In [22]: ios = london.setdefault('ios') In [23]: print(ios) None In [24]: london Out[24]: 'name': 'London1', 'location': 'London Str', 'vendor': 'Cisco', 'ios': None>
Если ключ есть, setdefault возвращает значение, которое ему соответствует:
In [25]: london.setdefault('name') Out[25]: 'London1'
Второй аргумент позволяет указать, какое значение должно соответствовать ключу:
In [26]: model = london.setdefault('model', 'Cisco3580') In [27]: print(model) Cisco3580 In [28]: london Out[28]: 'name': 'London1', 'location': 'London Str', 'vendor': 'Cisco', 'ios': None, 'model': 'Cisco3580'>
Метод setdefault заменяет такую конструкцию:
In [30]: if key in london: . : value = london[key] . : else: . : london[key] = 'somevalue' . : value = london[key] . :
keys, values, items #
Методы keys , values , items :
In [24]: london = 'name': 'London1', 'location': 'London Str', 'vendor': 'Cisco'> In [25]: london.keys() Out[25]: dict_keys(['name', 'location', 'vendor']) In [26]: london.values() Out[26]: dict_values(['London1', 'London Str', 'Cisco']) In [27]: london.items() Out[27]: dict_items([('name', 'London1'), ('location', 'London Str'), ('vendor', 'Cisco')])
Все три метода возвращают специальные объекты view, которые отображают ключи, значения и пары ключ-значение словаря соответственно.
Очень важная особенность view заключается в том, что они меняются вместе с изменением словаря. И фактически они лишь дают способ посмотреть на соответствующие объекты, но не создают их копию.
In [28]: london = 'name': 'London1', 'location': 'London Str', 'vendor': 'Cisco'> In [29]: keys = london.keys() In [30]: print(keys) dict_keys(['name', 'location', 'vendor'])
Сейчас переменной keys соответствует view dict_keys , в котором три ключа: name, location и vendor.
Если добавить в словарь еще одну пару ключ-значение, объект keys тоже поменяется:
In [31]: london['ip'] = '10.1.1.1' In [32]: keys Out[32]: dict_keys(['name', 'location', 'vendor', 'ip'])
Если нужно получить обычный список ключей, который не будет меняться с изменениями словаря, достаточно конвертировать view в список:
In [33]: list_keys = list(london.keys()) In [34]: list_keys Out[34]: ['name', 'location', 'vendor', 'ip']
del #
In [35]: london = 'name': 'London1', 'location': 'London Str', 'vendor': 'Cisco'> In [36]: del london['name'] In [37]: london Out[37]: 'location': 'London Str', 'vendor': 'Cisco'>
update #
Метод update позволяет добавлять в словарь содержимое другого словаря:
In [38]: r1 = 'name': 'London1', 'location': 'London Str'> In [39]: r1.update('vendor': 'Cisco', 'ios':'15.2'>) In [40]: r1 Out[40]: 'name': 'London1', 'location': 'London Str', 'vendor': 'Cisco', 'ios': '15.2'>
Аналогичным образом можно обновить значения:
In [41]: r1.update('name': 'london-r1', 'ios':'15.4'>) In [42]: r1 Out[42]: 'name': 'london-r1', 'location': 'London Str', 'vendor': 'Cisco', 'ios': '15.4'>
Python Dictionary update()
In this article discuss how to use the update() method of the dict class in python and then we will look at some examples of the update() function.
dict.update() Syntax:
In python, dict class provides a function to update the values of keys i.e.
-
-
- Sequence: An optional iterable sequence of key-value pairs. It can be another dictionary or list of tuples etc.
Return Value:
Frequently Asked:
update() function accepts an iterable sequence of key-value pairs (dictionary or list of tuples) as an argument and then updates the values of keys from the sequence to the dictionary.
If any key is present in sequence argument but not exist in the dictionary, then it adds the key in the dictionary along with the given value. Whereas, if the update() function is called without any argument, then it does not modify the dictionary.
Let’s understand more with some examples,
Examples of dict.update()
Update value of a key in a dictionary in python
To update the value of an existing key in the dictionary, just create a temporary dictionary containing the key with new value and then pass this temporary dictionary to the update() function,
# Dictionary of string and int word_freq = < "Hello": 56, "at": 23, "test": 43, "this": 78 ># python dictionary update value of key word_freq.update() print('Modified Dictionary:') print(word_freq)
It updated the value of the key ‘at’ in the dictionary.
The behavior of update() function, when passed a key that doesn’t exist in the dictionary
If we pass a key-value pair in the update() function and the given key does not exist in the dictionary, then it adds that key in the dictionary with the given value. For example,
# Dictionary of string and int word_freq = < "Hello": 56, "at": 23, "test": 43, "this": 78 ># if key does not exist then upate(0 function # will add a new key in dict with given value word_freq.update() print('Modified Dictionary:') print(word_freq)
As key ‘here’ does not exist in the dictionary, so update() function added that too the dictionary.
Update values of multiple keys in a dictionary using update() function
If we want to update the values of multiple keys in the dictionary, then we can pass them as key-value pairs in the update() function. To bind keep multiple key-value pairs together, either we can use a list of tuples or we can create a temporary dictionary.
# Dictionary of string and int word_freq = < "Hello": 56, "at": 23, "test": 43, "this": 78 ># Update values of multiple keys in dictionary word_freq.update() print('Modified Dictionary:') print(word_freq)
Here we passed 3 key-value pairs to the update() function. Out of these 3, the 2 keys exist in the dictionary and the third key i.e. ‘here’ doesn’t exist in the dictionary. So, it updated the values of 2 keys that already exist in the dictionary and added the third one in the dictionary.
Update the key name in dictionary using update() function
We can not change the key in a dictionary. So if we want to change the key in the dictionary then we need to delete the current key-value pair from the dictionary and add a new key in the dictionary with the same value.
# Dictionary of string and int word_freq = < "Hello": 56, "at": 23, "test": 43, "this": 78 >#Update key name in python dictionary value = word_freq.pop('at') word_freq.update() print('Modified Dictionary:') print(word_freq)
It gave an effect that we have updated the key name from ‘at’ to ‘where’. But actually, we fetched the value of key ‘at’, then deleted that entry from the dictionary and then added a new key ‘where’ in the dictionary with the same value.
So, this is how we can use the update() method of the dict class in python to add or update values.
Related posts:
Share your love
Leave a Comment Cancel Reply
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Terms of Use
Disclaimer
Copyright © 2023 thisPointer
To provide the best experiences, we and our partners use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us and our partners to process personal data such as browsing behavior or unique IDs on this site and show (non-) personalized ads. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Click below to consent to the above or make granular choices. Your choices will be applied to this site only. You can change your settings at any time, including withdrawing your consent, by using the toggles on the Cookie Policy, or by clicking on the manage consent button at the bottom of the screen.
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Словари (dict) и работа с ними. Методы словарей
Сегодня я расскажу о таком типе данных, как словари, о работе со словарями, операциях над ними, методах, о генераторах словарей.
Словари в Python — неупорядоченные коллекции произвольных объектов с доступом по ключу. Их иногда ещё называют ассоциативными массивами или хеш-таблицами.
Чтобы работать со словарём, его нужно создать. Сделать это можно несколькими способами. Во-первых, с помощью литерала:
Во-вторых, с помощью функции dict:
В-третьих, с помощью метода fromkeys:
В-четвертых, с помощью генераторов словарей, которые очень похожи на генераторы списков.
Теперь попробуем добавить записей в словарь и извлечь значения ключей:
: Как видно из примера, присвоение по новому ключу расширяет словарь, присвоение по существующему ключу перезаписывает его, а попытка извлечения несуществующего ключа порождает исключение. Для избежания исключения есть специальный метод (см. ниже), или можно перехватывать исключение.
Что же можно еще делать со словарями? Да то же самое, что и с другими объектами: встроенные функции, ключевые слова (например, циклы for и while), а также специальные методы словарей.
Методы словарей
dict.clear() — очищает словарь.
dict.copy() — возвращает копию словаря.
classmethod dict.fromkeys(seq[, value]) — создает словарь с ключами из seq и значением value (по умолчанию None).
dict.get(key[, default]) — возвращает значение ключа, но если его нет, не бросает исключение, а возвращает default (по умолчанию None).
dict.items() — возвращает пары (ключ, значение).
dict.keys() — возвращает ключи в словаре.
dict.pop(key[, default]) — удаляет ключ и возвращает значение. Если ключа нет, возвращает default (по умолчанию бросает исключение).
dict.popitem() — удаляет и возвращает пару (ключ, значение). Если словарь пуст, бросает исключение KeyError. Помните, что словари неупорядочены.
dict.setdefault(key[, default]) — возвращает значение ключа, но если его нет, не бросает исключение, а создает ключ со значением default (по умолчанию None).
dict.update([other]) — обновляет словарь, добавляя пары (ключ, значение) из other. Существующие ключи перезаписываются. Возвращает None (не новый словарь!).
dict.values() — возвращает значения в словаре.
Для вставки кода на Python в комментарий заключайте его в теги
-