我理解开始:结束表示法意味着第一个数字是列表中切片开始的位置,最后一个数字是切片结束的列表中的位置-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
发布于 2018-11-24 20:33:27
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]]
发布于 2018-11-24 20:36:16
使用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]]https://stackoverflow.com/questions/53462082
复制相似问题