У меня есть список [5, 90, 23, 12, 34, 89] и т. Д., Где каждые два значения должны быть (ранжированным) списком в словаре.Создайте рейтинг с пониманием списка
Таким образом, приведенный выше список станет {1: [5, 90], 2: [23, 12], 3: [34, 89]} и т. Д. Я подошел к пониманию списка, но не взломал Это. Я пробовал:
my_list = [5, 90, 23, 12, 34, 89]
my_dict = dict((i+1, [my_list[i], my_list[i+1]]) for i in xrange(0, len(my_list)/2))
Что работает для первого ключа, но все следующие значения отключены одним индексом. Как бы вы это сделали?
Отлично, спасибо. Есть ли преимущество для итерационного подхода? – Ian
IMHO, второй подход более Pythonic, но он читает читателя, не знакомого с Python. Но это все еще довольно круто. –