Как работает dict.items()?

Вот сколько работал с dict.items() - никогда вопросов не возникало, потому как всегда предполагал, что он .items() всегда должен возвращать пару: ключ, значение.

print({1: 2}.items())  # dict_items([(1, 2)])

Почему в цикле можно писать:

for k, v in {1: 2}.items()

А так нельзя:

k, v = {1: 2}.items()

Вроде же как по первому коду видно что возвращается кортеж пар: ключ и значение. Почему он тогда не распаковывается? Или я что-то недопонял тут?


Ответы (1 шт):

Автор решения: Bekova Deniza

dict.items() возвращает не пару ключ/значение, а список кортежей вида ключ/значение. Ты пытаешь один элемент (список кортежей), записать в две переменные.

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

k, v = [], []
for key, value in {1:2}.items():
    k.append(key)
    v.append(value)
→ Ссылка