-3
def myLists(L):
    final_list=[] 
    sub_list=[]
    for each in L:       
        sub_list[:]=[]
        for num in range(each+1):            
            sub_list.append(num)
        #remove 0 from the list
        sub_list=sub_list[1:]    

        final_list.append(sub_list)        
    return final_list    

L=[1,2,4,5,7]
nl= myLists(L)
print nl

预期的输出是:

[[1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5, 6, 7]]

我得到如下输出,不明白为什么在子列表中添加了“0”:

[[0, 1, 2], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5, 6, 7], [1, 2, 3, 4, 5, 6, 7]]
4

1 回答 1

1

如果你替换这个:

#remove 0 from the list
sub_list=sub_list[1:]    

final_list.append(sub_list)

有了这个:

final_list.append(sub_list[1:])     

你得到你想要的输出

于 2013-07-10T16:36:27.683 回答