在列表中的特定索引处插入元素并返回更新列表

我有这个:

>>> a = [1, 2, 4] >>> print a [1, 2, 4] >>> print a.insert(2, 3) None >>> print a [1, 2, 3, 4] >>> b = a.insert(3, 6) >>> print b None >>> print a [1, 2, 3, 6, 4] >>> 

无论如何,我可以得到更新的列表作为结果,而不是更新原来的列表?

l.insert(index, obj)实际上并不返回任何东西,它只是更新列表。 正如ATO所说,你可以做b = a[:index] + [obj] + a[index:] 。 但是,另一种方法是:

 a = [1, 2, 4] a.insert(2, 3) b = a[:] 

最短的我得到了: b = a[:2] + [3] + a[2:]

 >>> >>> a = [1, 2, 4] >>> print a [1, 2, 4] >>> b = a[:2] + [3] + a[2:] >>> print a [1, 2, 4] >>> print b [1, 2, 3, 4]