有人可以解释此切片的工作原理吗?

时间:2018-09-23 08:23:56

标签: python

x=[1,2,3,4]

In [91]: x[:1]
Out[91]: [1]

x [:n]最多选择'n'个(不包括)列?

In [93]: x[:-1]
Out[93]: [1, 2, 3]

x[:-1]如何工作?

In [94]: x[::-1]
Out[94]: [4, 3, 2, 1]

x[::-1]又如何呢?这里有两个::

3 个答案:

答案 0 :(得分:1)

  • x[:1]获得索引小于1的所有值(因此基本上只得到第零个元素)

  • x[:-1]获取所有值,直到最后一个值

  • x[::-1]反转列表

答案 1 :(得分:1)

您可以将Python切片x[start:end]想象成一个间隔[start, end)。此外,遗漏的符号可以是0len(x)

x = [1, 2, 3, 4]

  • x[:1]x[0:1],它是[0]
  • x[:-1]x[0:len(x)-1],它是[1, 2, 3]
  • x[::-1]是一个反向x,它是[4, 3, 2, 1]

答案 2 :(得分:1)

x[start:stop:step]是基本格式
如果未指定任何三个,则它们采用默认值start = 0, stop = just after last element, step = 1
根据字符串索引,x [1]是第二个索引,x [-1]是最后一个索引。

  1. 因此,x [:1] => x [0:1:1]表示从0到1的所有数字都不包括1 间隔为1。
  2. 类似地,x [:-1] => x [0:-1:1] 基本上x从0(开始)到-1(结束)不包括-1和a 步骤1
  3. 最后,x [::-1]从头开始遍历整个字符串 结束但它使用了-1的步长,所以它的工作原理有点特殊, 给您x [-1:开始之前:-1],即从头到尾 包括开始之前的一个(该索引没有索引)