Метод items() у словаря в Python возвращает специальный объект представления — dict_items. Этот объект содержит все пары ключ–значение, которые находятся в словаре на момент вызова метода. Главное, что стоит понимать — это не копия данных, а динамическое отображение текущего состояния словаря.
➡️ То есть, если после вызова items() словарь изменится (например, будут добавлены новые элементы или удалены существующие), это сразу отразится и на объекте items().
Это поведение делает items() очень удобным для просмотра и итерации по словарю, но важно помнить об осторожности при изменении словаря во время обхода — это может вызвать RuntimeError, так как структура данных меняется в процессе итерации.
Также объекты, возвращаемые items(), поддерживают несколько стандартных операций: ➡️iter(d.items()) — можно получить итератор по парам ключ-значение ➡️len(d.items()) — вернёт общее число пар в словаре ➡️(k, v) in d.items() — позволяет проверить, содержится ли конкретная пара ключ-значение в словаре
🌸 В Python 2.7 аналогичную функцию выполняет метод viewitems(), но начиная с Python 3, items() уже по умолчанию возвращает объект-представление.
Метод items() у словаря в Python возвращает специальный объект представления — dict_items. Этот объект содержит все пары ключ–значение, которые находятся в словаре на момент вызова метода. Главное, что стоит понимать — это не копия данных, а динамическое отображение текущего состояния словаря.
➡️ То есть, если после вызова items() словарь изменится (например, будут добавлены новые элементы или удалены существующие), это сразу отразится и на объекте items().
Это поведение делает items() очень удобным для просмотра и итерации по словарю, но важно помнить об осторожности при изменении словаря во время обхода — это может вызвать RuntimeError, так как структура данных меняется в процессе итерации.
Также объекты, возвращаемые items(), поддерживают несколько стандартных операций: ➡️iter(d.items()) — можно получить итератор по парам ключ-значение ➡️len(d.items()) — вернёт общее число пар в словаре ➡️(k, v) in d.items() — позволяет проверить, содержится ли конкретная пара ключ-значение в словаре
🌸 В Python 2.7 аналогичную функцию выполняет метод viewitems(), но начиная с Python 3, items() уже по умолчанию возвращает объект-представление.
Mr. Durov launched Telegram in late 2013 with his brother, Nikolai, just months before he was pushed out of VK, the Russian social-media platform he founded. Mr. Durov pitched his new app—funded with the proceeds from the VK sale—less as a business than as a way for people to send messages while avoiding government surveillance and censorship.
For some time, Mr. Durov and a few dozen staffers had no fixed headquarters, but rather traveled the world, setting up shop in one city after another, he told the Journal in 2016. The company now has its operational base in Dubai, though it says it doesn’t keep servers there.Mr. Durov maintains a yearslong friendship from his VK days with actor and tech investor Jared Leto, with whom he shares an ascetic lifestyle that eschews meat and alcohol.