Как мне создать список со значениями между двумя значениями, которые я вставил? Например, следующий список генерируется для значений от 11 до 16:
list = [11, 12, 13, 14, 15, 16]
Использование range
. В Python 2.x он возвращает список, поэтому все, что вам нужно, это:
>>> range(11, 17)
[11, 12, 13, 14, 15, 16]
В Python 3.x range
есть итератор. Итак, вам нужно преобразовать его в список:
>>> list(range(11, 17))
[11, 12, 13, 14, 15, 16]
Примечание : второй номер является эксклюзивным. Итак, здесь это должно быть 16+1
=17
РЕДАКТИРОВАТЬ:
Чтобы ответить на вопрос об увеличении на 0.5
, проще всего было бы использовать numpy arange()
и .tolist()
:
>>> import numpy as np
>>> np.arange(11, 17, 0.5).tolist()
[11.0, 11.5, 12.0, 12.5, 13.0, 13.5,
14.0, 14.5, 15.0, 15.5, 16.0, 16.5]
step
параметром, но это все еще int, а не float. Вы не можете сделать это точно в стандартной библиотеке.Вы, кажется, ищете
range()
:Для увеличения
0.5
вместо1
, скажем:источник
list
в качестве переменной.list
есть встроенный класс, поэтому его использование в качестве переменной несколько не рекомендуетсяПытаться:
Это список в Python 2.x и ведет себя в основном как список в Python 3.x. Если вы работаете с Python 3 и вам нужен список, который вы можете изменить, используйте:
источник
Если вы ищете функцию типа range, которая работает для типа float, то вот очень хорошая статья .
Вывод:
источник
Используйте понимание списка в Python. Поскольку вы тоже хотите 16 в списке .. Используйте x2 + 1. Функция диапазона исключает верхний предел в функции.
источник
range()
не нужно использовать спискиlist(range(x1, x2+1))
.при условии, что вы хотите иметь диапазон от х до у
используйте список для поддержки 3.x
источник
В Python вы можете сделать это очень легко
или вы можете создать рекурсивную функцию, которая возвращает массив до заданного числа:
вывод: ar = [10,9,8,7,6,5,4,3,2,1,0]
источник
Самый элегантный способ сделать это с помощью
range
функцию, однако, если вы хотите воссоздать эту логику, вы можете сделать что-то вроде этого:Это производит вывод:
Как уже было сказано @Jared, лучшим способом является использование кода
range
или, какnumpy.arrange
мне кажется, интересного для совместного использования.источник
[x for x in range(10, 3, 1)]
- первый аргумент - начало, второй конец и последний шаг. ==> Стоп> начатьКаждый ответ выше предполагает, что диапазон только положительных чисел. Вот решение для возврата списка последовательных чисел, где аргументы могут быть любыми (положительными или отрицательными), с возможностью установить необязательное значение шага (по умолчанию = 1).
Например, стандартная команда
list(range(1,-3))
возвращает пустой список[]
, а эта функция возвращает[-3,-2,-1,0,1]
Обновлено : теперь шаг может быть отрицательным. Спасибо @Michael за его комментарий.
источник
i_min = -3, i_max = 1
any_number_range(i_max, i_min))
возвращает[-3,-2,-1,0,1]
Но встроенная функцияlist(range(i_min, i_max + 1))
будет возвращать те же значения.list(range(1,-3, -1))