我想生成一个扩展的嵌套列表。如何生成这样的嵌套列表?
[1.0, None]
[-1.0, [1.0, None]]
[-1.0, [1.0, [3.0, None]]]
[6,[-1.0, [1.0, [3.0, None]]]]
本质上,我想创建一个嵌套列表,其中每个元素都插入到原始列表中。
答案 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”函数,以演示在扩展这种想法时使用类可能会有帮助。