Найти - Пользователи
Полная версия: Как обратиться к ключу в словаре по его порядковому номеру
Начало » Python для новичков » Как обратиться к ключу в словаре по его порядковому номеру
1
Arthorius
Всем привет!
Подскажите пожалуйста, если есть словарь
dic = {'we': 8, 'qw: 15}
Могу ли я взять ключ из этого словаря, обращаясь к ключу не по имени, а по его порядковому номеру?
Ну например, чтоб вывести значение первого ключа, то сделать это как-то так:
print(dic.keys(1)), или print(dic[1}), или ещё как-то…
xam1816
 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 
doza_and
Arthorius
обращаясь к ключу не по имени, а по его порядковому номеру?
У словаря нет индексов ключей. И я бы сказал что это плохой тон полагаться на порядок ключей в словаре.
Конечно можно както их пронумеровать, но трудоемкость этой операции будет линейная, а извлечение по ключу имеет константную трудоемкость.
Arthorius
Ну например, чтоб вывести значение первого ключа
Трудоемкость вот именно такой операции константная, правда с учетом что этот ключик условно первый :).
 a={10-i:i for i in range(5)}
a.__iter__().__next__()
10
PEHDOM
Arthorius у ключа нет порядкового номера, еще недавно словари вообще были неупорядочеными, тоесть порядок извлечения ключей мог отличаться от порядка добавления.
С версии 3.6 они стали упорядочеными, а с 3.7 это стало стандартом. Так что вопрос какой ключ первый до версии 3.6 вообще лишен смысла (для этого использовался collections.OrderedDict),
с Версии 3.6 вы можете использовать метод предложеный xam1816
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB