Как создать список чисел в диапазоне между двумя значениями?
Как создать список чисел между двумя значениями? Например, мне нужно получить список чисел от 11 до 16, который должен выглядеть так:
[11, 12, 13, 14, 15, 16]
Как это можно реализовать?
5 ответ(ов)
Используйте генератор списков в Python, чтобы создать список, включающий числа от x1
до x2
, включая x2
. Обратите внимание, что функция range
исключает верхнюю границу, поэтому нужно добавить 1
к x2
. Пример кода:
my_list = [x for x in range(x1, x2 + 1)]
Таким образом, my_list
будет содержать все числа от x1
до x2
включительно. Не забудьте, что не стоит называть переменную list
, так как это имя встроенного типа в Python. Лучше используйте что-то вроде my_list
.
Если вы хотите создать список чисел в диапазоне от x до y, вы можете использовать функцию range()
вместе с преобразованием в список. Обратите внимание, что в Python 3.x функция range()
возвращает объект, который необходимо преобразовать в список, чтобы увидеть все значения. Для включения y вы можете использовать y + 1
в аргументах. Пример кода:
list(range(x, y + 1))
Вот как это будет выглядеть на практике:
>>> list(range(11, 17))
[11, 12, 13, 14, 15, 16]
Таким образом, вы получите требуемый диапазон значений от 11 до 16 включительно.
Попробуйте:
range(x1, x2+1)
В Python 2.x это будет возвращать список, а в Python 3.x ведет себя аналогично, но возвращает объект типа range, который не является списком, но имеет схожее поведение. Если вы используете Python 3 и вам нужен изменяемый список, то используйте:
list(range(x1, x2+1))
Вы попали сюда, потому что хотите создать диапазон от -10 до 10 с шагом 0.1, используя списковое включение. Вместо того чтобы усложнять задачу с помощью многих функций, как в большинстве ответов выше, я просто сделал это:
simple_range = [x * 0.1 for x in range(-100, 100)]
Изменив количество в range
на 100, я получаю диапазон от -10 до 10, используя стандартную функцию range. Если вам нужен шаг 0.2, просто используйте range(-200, 200)
и так далее.
В Python вы можете сделать это очень просто:
start = 0
end = 10
arr = list(range(start, end + 1))
# Вывод: arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Также можно создать рекурсивную функцию, которая возвращает массив до заданного числа:
ar = []
def diff(start, end):
if start == end:
ar.append(end)
return ar
else:
ar.append(end)
return diff(start - 1, end)
Вывод:
# ar = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
Если нужно получить массив от 0
до 10
, то лучше использовать первый вариант с range
, так как он проще и эффективнее. Рекурсивный подход используется реже из-за потенциальных проблем с переполнением стека при больших значениях.
Как получить последний элемент списка?
Как клонировать список, чтобы он не изменялся неожиданно после присваивания?
Самый быстрый способ проверить наличие значения в списке
Преобразование всех строк в списке в целые числа
Нахождение среднего значения списка