我想在python中的列表中添加一个项,我想在一个比列表大小更大的索引上添加这个项。这将导致列表自动增长。
例如,在包含3个项的列表中,我希望在索引6处插入元素。这在python中是可行的,而不必首先重新初始化列表吗?在我的示例中,如果尝试在索引6处插入项,Python似乎只会追加到列表中。
发布于 2015-10-08 11:06:36
如果索引在范围内(在这种情况下,这相当于内置的insert方法),则可以编写一个函数,给定一个列表、一个索引和一个元素,在索引之前插入该元素,或者通过足够的Nones扩展列表,以便在最后将其填入:
>>> def put(xs,i,e):
n = len(xs)
if i <= n:
xs.insert(i,e)
else:
xs.extend([None]*(i-n-1))
xs.append(e)
>>> xs = [1,2,3]
>>> put(xs,6,10)
>>> xs
[1, 2, 3, None, None, 10]
>>> https://stackoverflow.com/questions/33013772
复制相似问题