在python中切片列表

时间:2018-03-22 07:51:45

标签: python-2.7 slice

关于切片操作在列表上的确切运作方式,我们有很多困惑。

  • 为什么[1,2,3,4] [:: - 1]会反过来?

  • 为什么[1,2,3,4] [1:-4]返回[]和[1,2,3,4] [1:-4:-1]返回[2]?

使用负指数时会出现主要问题。

如果有人能够在内置模块中向我展示切片的确切定义,那将是件好事。

编辑:为什么[1,2,3] [:: - 1]和[1,2,3] [0:3:-1]具有不同的返回值

1 个答案:

答案 0 :(得分:0)

列表是从0到大小为1的索引,步长为1.

切片遵循以下模式:列出[f:t:s]

  • f是from index,包括;默认为0;它包装,意味着从列表末尾开始负面
  • t是索引,独占;默认为size-1;它可以倒退,意味着负面从右到左。
  • s是步骤,一个整数,默认为1,其符号给出方向 :从左到右为正,从右到左为负
如果步骤为负,则

f和t默认值相反。

示例:

[1,2,3,4] [:: - 1]表示从右到左从0到大小-1 => [4,3,2,1]

[1,2,3,4] [1:-4]表示从第二个元素到第一个元素,用一个步骤排除=>没有

[1,2,3,4] [1:-4:-1]意味着从第二个元素到第一个元素排除第一个元素,只有第二个元素= = [2]

当然,最好是在使用之前尝试切片。