Форум сайта python.su
Всем привет!
Подскажите пожалуйста, если есть словарь
dic = {'we': 8, 'qw: 15}
Могу ли я взять ключ из этого словаря, обращаясь к ключу не по имени, а по его порядковому номеру?
Ну например, чтоб вывести значение первого ключа, то сделать это как-то так:
print(dic.keys(1)), или print(dic[1}), или ещё как-то…
Офлайн
dic = {'we': 8, 'qw': 15} dic_keys = list(dic) print(dic_keys) print(dic_keys[0]) print(dic[dic_keys[0]])
['we', 'qw'] we 8 Process finished with exit code
Онлайн
ArthoriusУ словаря нет индексов ключей. И я бы сказал что это плохой тон полагаться на порядок ключей в словаре.
обращаясь к ключу не по имени, а по его порядковому номеру?
ArthoriusТрудоемкость вот именно такой операции константная, правда с учетом что этот ключик условно первый :).
Ну например, чтоб вывести значение первого ключа
a={10-i:i for i in range(5)} a.__iter__().__next__() 10
Отредактировано doza_and (Март 8, 2021 18:32:17)
Офлайн
Arthorius у ключа нет порядкового номера, еще недавно словари вообще были неупорядочеными, тоесть порядок извлечения ключей мог отличаться от порядка добавления.
С версии 3.6 они стали упорядочеными, а с 3.7 это стало стандартом. Так что вопрос какой ключ первый до версии 3.6 вообще лишен смысла (для этого использовался collections.OrderedDict),
с Версии 3.6 вы можете использовать метод предложеный xam1816
[code python][/code]
Отредактировано PEHDOM (Март 9, 2021 09:40:58)
Офлайн