Python 3: Как создать список списков на основе функции диапазона - PullRequest
0 голосов
/ 29 октября 2019

Я пытаюсь создать список из диапазона, но когда я добавляю его в другой список, я получаю класс, а не список ожидаемых списков - [[0,1,2]]

Код:

    initial_list = range(3)
    list_of_lists = [initial_list]
    for i in list_of_lists:
    print(i, type(i))

Это выводит range(0,3), <class 'range'> Однако я хочу [[0,1,2]] Кто-нибудь знает, как заставить диапазон расширяться?

Ответы [ 2 ]

2 голосов
/ 29 октября 2019

Этот ответ объясняет, что вы довольно близки! Если бы вы были в Python 2.x, этот подход сработал бы, так как в 2.x range() возвращает список. В 3.x, однако, range() возвращает итератор.

Разверните его с помощью list(range(3)), чтобы получить желаемый результат.

1 голос
/ 29 октября 2019

Вы можете добавить его в другой список. Вот что я сделал с этим:

initial_list = []
for i in range(3):
 initial_list.append(i)
list_of_lists = [initial_list]

Затем в режиме ожидания он показал:

list_of_lists
[0, 1, 2]]
...