Дополнительно
Вывести список в обратном порядке с помощью range()?
Как можно получить следующий список с помощью range()
в Python?
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
330
17
используйте функцию
reversed()
:Это гораздо более осмысленно.
Обновление:
Если вы хотите, чтобы это был список (как указал btk):
Обновление:
Если вы хотите использовать только
range
для достижения того же результата, вы можете использовать все его параметры.range(start, stop, step)
.Например, чтобы создать список
[5,4,3,2,1,0]
, вы можете использовать следующее:Это может быть менее интуитивно понятно, но, как отмечается в комментариях, это более эффективное и правильное использование диапазона для обратного списка.
Используйте встроенную функцию 'range'. Сигнатура имеет вид
range(start, stop, step)
. В результате получается последовательность чисел, начинающаяся сstart
и заканчивающаяся при достиженииstop
, исключаяstop
.В Python 3 это создает объект
range
без списка, который функционирует эффективно как список только для чтения (но использует гораздо меньше памяти, особенно для больших диапазонов).Вы могли бы использовать'range(10)[::-1]
, которая является то же самое, что'range(9, -1, -1)
и, вероятно, более читаемым (если вы're с общим'sequence[::-1]`в Python идиома).Для тех, кто заинтересован в "эффективность" из вариантов, собранных до сих пор...
Джейме РГП'ы ответ привели меня к перезагрузите компьютер после времени несколько и"сложных" и решения Джейсон буквально следующее мое предложение (через комментарии). Чтобы избавить любопытствующих от вас простоя, я представляю здесь мои результаты (первый блин комом):
Джейсон'ы ответ (может просто экскурс в силе постижение список):
Мартино'ы ответ (читается если вы знакомы с синтаксисом дополнительные слайсы](https://docs.python.org/2.3/whatsnew/section-slices.html)):
Михал Šrajer'ы ответ (принят, очень легко читаются):
бэнэ'ы ответ (самый первый, но очень схематично в это время):
Последний вариант легко запомнить, используя линейку(Н-1,-1,-1)` нотация Вал Neekman.
будем решать эту проблему. Он будет выводить 8 до 1, а -1 означает обратную списка
Нет смысла использовать реверс, потому что метод диапазон может вернуться вспять списка.
Когда у вас перебор Н предметы и хочу заменить заказ из списка, возвращенного диапазона(запуск, остановка, шаг) вы должны использовать третий параметр в диапазоне, который определяет " шаг " и установить его на
-1
, остальные параметры должны быть соответствующим образом скорректированы:-1
(Он'с предыдущего значения стоп - 1,
стоправен
0`).Н-1
.Так что эквивалент диапазон(N) в обратном порядке будет:
Читаемость в сторону,
обратная(диапазон(Н))
, кажется, быстрее, чемдиапазон(Н)[::-1]
.Просто если кому-то интересно :)
Требование в этом вопросе призывает список целых чисел размером 10 в порядке убывания порядок. Итак, позвольте'ы составить список в Python.
Очень часто задают вопрос, Является ли
диапазона(9, -1, -1)
лучше, чемобратная(диапазон(10))
в Python 3? Люди, которые работали на других языках с итераторами сразу же склонны думать, что обратная() должен кэшировать все значения, а затем вернуться в обратном порядке. Дело в том, что в Python'ыобратная (оператор)
не'т работу, если объект-это просто итератор. Объект должен иметь один из ниже два для вспять() для работы:лен () и целое число индексов через
[]`Если вы попытаетесь использовать инвертированное() на объект, который не имеет ни один из выше, то вы получите:
Короче говоря, на языке Python'ы
обратная()
подразумевается только такими как объекты и поэтому он должен иметь такое же представление как прямой итерации.А как насчет диапазона()
? Это'т, что генератор? В Python 3 это генератор, но завернутый в класс, который реализует оба выше. Так, диапазон(100000)
не'т занимают много памяти, но она по-прежнему обеспечивает эффективное индексирование и вспять.Таким образом, вы можете использовать
обратная(диапазон(10))
без каких-либо снижение производительности.Вы можете сделать печать обратных чисел в диапазоне() биф как ,
Выход будет [10,9,8,7,6,5,4,3,2,1]
диапазон() - спектр ( начало , конец , инкремент/декремент ) где начало входит , конец является эксклюзивным и шаг могут быть любые цифры и ведет себя как шаг
я считаю, что это может помочь,
ниже является использование:
Используя без [::-1] или обращенно -
Предположим, у вас есть список его называю а={1,2,3,4,5} Теперь, если вы хотите распечатать список в обратном порядке, то просто используйте следующий код.
Я знаю, что вы просили, используя диапазон, но его уже ответили.
Вы Don'т обязательно нужно использовать функцию Range, вы можете просто сделать список[::-1], который возвращает быстро список в обратном порядке, без использования каких-либо дополнений.
Правильной формы. Если вы используете
вы не получите 0 случае. Например, скажем, ваш 10 это'т магическим числом и переменной вы're, используя для поиска от обратного. Если в вашем случае N равно 0, отменено(диапазон(0)) не будет выполняться, что это неправильно, если вы случайно имеют один объект в индексе ноль.