将元素追加到扩展列表

时间:2018-10-29 15:49:00

标签: python python-3.x

我想生成一个扩展的嵌套列表。如何生成这样的嵌套列表?

[1.0, None]
[-1.0, [1.0, None]]
[-1.0, [1.0, [3.0, None]]]
[6,[-1.0, [1.0, [3.0, None]]]]

本质上,我想创建一个嵌套列表,其中每个元素都插入到原始列表中。

3 个答案:

答案 0 :(得分:1)

好像您是将新元素附加到列表的第一个元素,并使前一个元素成为子列表:

l = [1.0, None]
new = [-1.0]
new.append(l)

然后,new将是:

[-1.0, [1.0, None]]

答案 1 :(得分:1)

您可以执行以下操作:

import random

l = [-1.0, None]

for i in range(10):        
    l = [random.randint(0, 10), l]

print(l)

您只需将原始列表包装到另一个列表中即可。

答案 2 :(得分:1)

我建议您为此功能创建一个类。您可以使用的模板是:

class nestlist:
    def __init__(self,startlist=[]):
        self.nestlist=startlist
    def get(self):
        return self.nestlist
    def add(self,x):
        self.nestlist = [x,self.nestlist]
    def pop(self):
        popval = self.nestlist[0]
        self.nestlist = self.nestlist[1]
        return popval

nl = nestlist()
nl.add(1)
nl.add(-1)
nl.add(6)

print(nl.get())

这将创建该类,并根据您的示例添加1,-1和6。调用get()时,它将根据需要返回[6,[-1,[1,[]]]]]。我还添加了一个类似的“ pop”函数,以演示在扩展这种想法时使用类可能会有帮助。