Python 创建列表列表,将列表中的上一个值与下一个值连接起来

Python 创建列表列表,将列表中的上一个值与下一个值连接起来,python,list,Python,List,例如,我有一个列表 n = [1, 2, 3, 4] 我想得到这样的列表: ls = [[1], [1, 2], [1, 2, 3], [1, 2, 3, 4]] 我如何才能做到这一点?使用两个for循环 n = [1, 2, 3, 4] for i in n: temp = [] for j in range(1,i+1): temp.append(j) b.append(temp) print(b) 列表理解方法: [n[:j]

例如,我有一个列表

n = [1, 2, 3, 4]
我想得到这样的列表:

ls = [[1], [1, 2], [1, 2, 3], [1, 2, 3, 4]]
我如何才能做到这一点?

使用两个for循环

n = [1, 2, 3, 4]
for i in n:
     temp = []
     for j in range(1,i+1):
             temp.append(j)
     b.append(temp)
print(b)

列表理解方法:

[n[:j] for j in range(1,len(n)+1)]
l=[1,2,3,4]
f=[]
i=0

虽然(I到目前为止您尝试了什么?请分享您的代码。请参阅。提示:使用列表理解与slicinghint 2:还有一种更简单的方法,使用两个for loop我尝试迭代列表n并将每个数字与下一个数字连接起来。但我无法获得必须添加到该循环以获得正确答案的条件。我将发布answ呃,这一次,但下一次提问时,请始终发布您已尝试过的内容。您忘记在循环之前添加一个空的b列表。但其余的都很好。谢谢。是的,我很抱歉。很好。但它应该等于或小于len(l)。而不是严格地小于。谢谢您的解决方案。非常好。谢谢。
l = [1,2,3,4]
f = []
i = 0
while(i<len(l)):
    f.append(l[:i])
    i+=1
print(f[1:])