Python 3:如何根据范围函数创建列表列表
Python 3 : How to create a list of lists based on the range function
我正在尝试从一个范围创建一个列表,但是当我将它粘贴到另一个列表中时,我得到一个 class 而不是我期望的列表列表 - [[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]]
有谁知道如何强制范围扩大?
This answer 说明您非常接近!如果您在 Python 2.x 中,这种方法会奏效,因为在 2.x、range()
returns 中有一个列表。然而,在 3.x 中,range()
returns 是一个迭代器。
用 list(range(3))
展开它以获得所需的结果。
您可以将其附加到另一个列表。
这是我为此所做的:
initial_list = []
for i in range(3):
initial_list.append(i)
list_of_lists = [initial_list]
然后在 IDLE 中显示:
list_of_lists
[0, 1, 2]]
我正在尝试从一个范围创建一个列表,但是当我将它粘贴到另一个列表中时,我得到一个 class 而不是我期望的列表列表 - [[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]]
有谁知道如何强制范围扩大?
This answer 说明您非常接近!如果您在 Python 2.x 中,这种方法会奏效,因为在 2.x、range()
returns 中有一个列表。然而,在 3.x 中,range()
returns 是一个迭代器。
用 list(range(3))
展开它以获得所需的结果。
您可以将其附加到另一个列表。 这是我为此所做的:
initial_list = []
for i in range(3):
initial_list.append(i)
list_of_lists = [initial_list]
然后在 IDLE 中显示:
list_of_lists
[0, 1, 2]]