切片插入问题,L[1:1]

2022-03-26 00:00:00 python slice

问题描述

练习一些Python,这是一门很容易掌握的语言。

我有

>>> L = [1,2,3,4]
>>> L[1:1] = [1,2,3]
>>> L
[1, 1, 2, 3, 2, 3, 4]
因此,第二行实际上是空列表,但是,如何理解从开始插入列表。我猜有些内部结构对我们来说是不透明的,很显然,我猜L[1:1]返回对索引1的引用,即使它返回一个空列表...

最美好的祝愿: UMUT


解决方案

L[1:1]表示列表中L从索引1(第二个元素)开始,直到但不包括索引1的切片。因此它是一个空列表。在赋值的右侧,它只是一个匿名的空列表。但在左侧,赋值知道切片是在哪里创建的,并可以将新列表值拼接到适当的位置。

相关文章