我知道[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列表切片可以替换为可迭代。
你从这个开始:
U = [2, 'haha', [5,6,9], 3, 2, 1] ;
U[1:2]
是'haha'
(从元素1
直到但不包括2
(,因此用空的可迭代[]
替换它实质上从列表中移除'haha'
。
此时,您就有了[2, [5,6,9], 3, 2, 1]
。
U[2:]
是从元素索引2
到末尾,即[3, 2, 1]
。同样,如前所述,将其设置为空的可迭代[]
,删除这三个元素,留下[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]]