Python 声明未知数量列表的空数组,然后访问其项?

Python 声明未知数量列表的空数组,然后访问其项?,python,arrays,python-3.x,list,indexoutofrangeexception,Python,Arrays,Python 3.x,List,Indexoutofrangeexception,我知道如何声明一个特定大小的空数组,比如说其中有25个列表- mylist = [[] for _ in range(25)] 但是如果我还不知道尺寸,怎么定义呢?很明显,下面的方法行不通- mylist = [[] for _ in range(math.inf)] 我问这个问题的原因是我需要给列表中的一些项目赋值。比如说- mylist[1].append(87) 但是,如果我只是在开始时声明一个空列表,它将显示一个“索引超出范围””错误 mylist = [[]] 我想这是因为我

我知道如何声明一个特定大小的空数组,比如说其中有25个列表-

mylist = [[] for _ in range(25)]
但是如果我还不知道尺寸,怎么定义呢?很明显,下面的方法行不通-

mylist = [[] for _ in range(math.inf)] 
我问这个问题的原因是我需要给列表中的一些项目赋值。比如说-

mylist[1].append(87)
但是,如果我只是在开始时声明一个空列表,它将显示一个“
索引超出范围”
”错误

mylist = [[]]
我想这是因为我试图访问第二个元素,而第一个元素还不存在


提前感谢

如果索引中没有数组,只需附加一个新的空数组即可:

mylist=[]

def insert_at(number,index,mylist):
    while index >= len(mylist):
       mylist.append([])
    mylist[index].append(number)
例如


选中此项。根据索引,当列表太小时,您可以制作dict或动态附加到列表中。也许你已经知道如何做这两件事了?谢谢@user202729,似乎唯一的解决方案是在列表太小时动态附加到列表中。但我不知道该怎么做。Advay168建议的帮助函数是否在解决方案下方?好主意!尽管我希望语言中有一种更“本地”的方式,而不是必须定义一个helper函数。这取决于您的用例。也许还有其他方法可以实现你想要做的事情
mylist=collections.defaultdict(列表)
;然后,您可以使用
mylist[index].append(number)
而不检查单个列表是否存在。显然,外部列表是一个字典而不是一个列表,但它可能更适合您的特定用途。defaultdict也是一个好主意!似乎defaultdict更像一个列表,而不是一个dict。。
insert_at(87,1,mylist)