我知道[start:end]表示第一个数字是切片在列表中的开始位置,最后一个数字是切片在列表中的结束位置(但在此示例中)>
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]
答案 0 :(得分:2)
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]]
答案 1 :(得分:1)
使用python控制台可以使示例更易于理解:
Require Export Setoid.
Require Export Coq.Reals.Reals.
Require Export ArithRing.
Definition Point := Type.
Record MassPoint:Type:= cons{number : R ; point: Point}.
Variable add_MP : MassPoint -> MassPoint -> MassPoint .
Variable mult_MP : R -> MassPoint -> MassPoint .
Variable orthogonalProjection : Point -> Point -> Point -> Point.
Definition isVector (v:MassPoint):= exists A, B :Point , v= add_MP((−1)A)(1B).
摆脱第二个元素。
>>> 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]