Python - 从其他列表值生成列表列表

时间:2018-06-01 13:02:54

标签: python-3.x generator

我需要以这种特殊方式生成列表列表:

[3, 1, 4] -> [[1, 2, 3], [1], [1, 2, 3, 4]]

这意味着列表列表中的每个列表必须在给定列表值的范围内。我曾尝试过像:

L = [3, 1, 4]
q = [i for i in L]
print(list([x] for x in range(y for y in q)))

但它返回一个TypeError:生成器不能解释为整数

所有必须是单个生成器表达式。

1 个答案:

答案 0 :(得分:0)

使用list comprehension

尝试:

L = [3, 1, 4]
print([list(range(1, i+1)) for i in L])

<强>输出:

[[1, 2, 3], [1], [1, 2, 3, 4]]