Python 3:如何基于范围函数创建列表列表

问题描述 投票:0回答:3

我正在尝试从一个范围中创建一个列表,但是当我将其粘贴到另一个列表中时,我得到的是类,而不是我期望的列表的列表-[[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]]有人知道如何强制扩大范围吗?

python list python-3.6
3个回答
1
投票

This answer解释您很接近!如果您使用的是Python 2.x,则此方法将奏效,因为在2.x中,range()返回一个列表。但是,在3.x中,range()返回一个迭代器。

list(range(3))扩展以获得所需的结果。


0
投票

您可以将其附加到anotehr列表中。这是我所做的事情:

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

然后显示在IDLE中:

>>> list_of_lists [0, 1, 2]]


-1
投票

您可以只使用*解压运算符来扩展范围

initial_list = [*range(3)] # expand range: [0, 1, 2]
list_of_lists = [initial_list]
print (list_of_lists)

输出:

[[0, 1, 2]]
© www.soinside.com 2019 - 2024. All rights reserved.