我需要以这种特殊方式生成列表列表:
[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:生成器不能解释为整数
所有必须是单个生成器表达式。
答案 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]]