【问题标题】:Python 3 : How to create a list of lists based on the range functionPython 3:如何根据范围函数创建列表列表
【发布时间】:2019-10-29 15:19:20
【问题描述】:

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

【问题讨论】:

  • 只需将range(3) 替换为list(range(3))

标签: python list python-3.6


【解决方案1】:

This answer 解释说你已经很接近了!如果你在 Python 2.x 中,这种方法会奏效,因为在 2.x 中,range() 返回一个列表。然而,在 3.x 中,range() 返回一个迭代器。

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

【讨论】:

    【解决方案2】:

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

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

    然后在 IDLE 中显示:

    list_of_lists
    [0, 1, 2]]
    

    【讨论】:

      猜你喜欢
      • 2021-03-10
      • 2013-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-27
      • 1970-01-01
      • 2019-07-08
      • 1970-01-01
      相关资源
      最近更新 更多