5

Как создать список чисел в диапазоне между двумя значениями?

34

Как создать список чисел между двумя значениями? Например, мне нужно получить список чисел от 11 до 16, который должен выглядеть так:

[11, 12, 13, 14, 15, 16]

Как это можно реализовать?

5 ответ(ов)

0

Используйте генератор списков в 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.

0

Если вы хотите создать список чисел в диапазоне от 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 включительно.

0

Попробуйте:

range(x1, x2+1)

В Python 2.x это будет возвращать список, а в Python 3.x ведет себя аналогично, но возвращает объект типа range, который не является списком, но имеет схожее поведение. Если вы используете Python 3 и вам нужен изменяемый список, то используйте:

list(range(x1, x2+1))
0

Вы попали сюда, потому что хотите создать диапазон от -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) и так далее.

0

В 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, так как он проще и эффективнее. Рекурсивный подход используется реже из-за потенциальных проблем с переполнением стека при больших значениях.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь