Python列表切片练习没有意义

Python列表切片练习没有意义,python,slice,Python,Slice,我理解,[start:end]表示法意味着第一个数字是列表中切片开始的位置,最后一个数字是列表中切片结束的位置-1,但在本例中 U= [2, 'haha', [5,6,9], 3, 2, 1] ; U[1:2]=[] ; U[2:]=[] ; 生成的切片是: U= [2, [5,6,9]] 为什么这是答案?在第二步中,3,2,1被消除。但是,为什么生成的切片[2、[5,6,9]]而不是[5,6,9]Python列表切片可以被iterables替换 您可以从以下内容开始: U =

我理解,[start:end]表示法意味着第一个数字是列表中切片开始的位置,最后一个数字是列表中切片结束的位置-1,但在本例中

 U= [2, 'haha', [5,6,9], 3, 2, 1] ; 
 U[1:2]=[] ; 
 U[2:]=[] ;
生成的切片是:

 U= [2, [5,6,9]]

为什么这是答案?在第二步中,3,2,1被消除。但是,为什么生成的切片[2、[5,6,9]]而不是[5,6,9]

Python列表切片可以被iterables替换

您可以从以下内容开始:

U = [2, 'haha', [5,6,9], 3, 2, 1] ; 
U[1:2]是从元素1到元素2的“haha”,但不包括元素2,因此将其替换为空的iterable[]实际上会从列表中删除“haha”

在这一点上,你有[2,5,6,9,3,2,1]


U[2:]是从元素索引2到末尾,即[3,2,1]。同样,与前面一样,将其设置为空的iterable[],删除这三个元素,留下[2、[5,6,9]]

Python列表片可以被iterables替换

您可以从以下内容开始:

U = [2, 'haha', [5,6,9], 3, 2, 1] ; 
U[1:2]是从元素1到元素2的“haha”,但不包括元素2,因此将其替换为空的iterable[]实际上会从列表中删除“haha”

在这一点上,你有[2,5,6,9,3,2,1]


U[2:]是从元素索引2到末尾,即[3,2,1]。同样,如前所述,将其设置为空iterable[],删除这三个元素,使用python控制台保留[2、[5,6,9]]

可能会使示例更容易理解:

>>> U = [2, 'haha', [5, 6, 9], 3, 2, 1]
>>> U
[2, 'haha', [5, 6, 9], 3, 2, 1]
去掉第二个元素

>>> U[1:2]=[]
>>> U
[2, [5, 6, 9], 3, 2, 1]
>>> U[2:] = [];
>>> U
[2, [5, 6, 9]]
除去第二个元素之外的所有内容

>>> U[1:2]=[]
>>> U
[2, [5, 6, 9], 3, 2, 1]
>>> U[2:] = [];
>>> U
[2, [5, 6, 9]]

使用python控制台可能会使示例更容易理解:

>>> U = [2, 'haha', [5, 6, 9], 3, 2, 1]
>>> U
[2, 'haha', [5, 6, 9], 3, 2, 1]
去掉第二个元素

>>> U[1:2]=[]
>>> U
[2, [5, 6, 9], 3, 2, 1]
>>> U[2:] = [];
>>> U
[2, [5, 6, 9]]
除去第二个元素之外的所有内容

>>> U[1:2]=[]
>>> U
[2, [5, 6, 9], 3, 2, 1]
>>> U[2:] = [];
>>> U
[2, [5, 6, 9]]

打印中间结果,而不是想象你知道它是什么。在第一步后打印列表。然后试着去理解发生了什么。第2步后重复相同步骤。编辑:哈哈,伙计们,看起来我们都在同一页上。嗨,谢伊,欢迎来到StackOverflow!尝试打印列表的中间状态,以确保您了解发生了什么。打印中间结果,而不是想象您知道第一步后打印列表的内容。然后试着去理解发生了什么。第2步后重复相同步骤。编辑:哈哈,伙计们,看起来我们都在同一页上。嗨,谢伊,欢迎来到StackOverflow!请尝试打印列表的中间状态,以确保您了解发生了什么。非常感谢您的解释谢谢您的解释