首页 > 解决方案 > python中的子列表列表

问题描述

我想编写一个 python 代码,输出将是这样的 [[1],[1,2],[1,2,3], ... [1,2,3, ... ]] 我有这个代码并且具有相似的输出,但唯一的区别是它打印所有情况,例如,如果我说范围是 3,它会打印 [[1], [1, 2], [1, 3], [1, 2, 3 ]] 而不是 [[1], [1, 2], [1, 2, 3]]

这是我的代码

def sub_lists(l):
    base = [1]
    lists = [base]
    for i in range(2, l+1):
        orig = lists[:]
        new = i
        for j in range(len(lists)):
            lists[j] = lists[j]  + [new]
        lists = orig + lists

    return lists


num=int(input("Please give me a number: "));

print(sub_lists(num))

标签: pythonlist

解决方案


怎么用list comprehension

例如:

num = 3
print([[*range(1, i + 1)] for i in range(1, num + 1)])

输出:

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

推荐阅读