Python切片规则,python 切片用法

  Python切片规则,python 切片用法

  从字面上可以了解到python切片,肯定是和分段有关的。如何使用?有朋友脑子里有印象吗?话不多说,让边肖给你看一个最简单的案例,教你快速上手,赶紧了解一下吧~

  Python的list还有另外一种用法,可以通过索引值一次获取多个元素。这叫列表切片,就是从原列表中切片出一部分,但原列表不变。

  示例图片:

  从执行结果可以看出,mynames的数据副本中索引为1和2的元素,即Jack、Rose和names [1:3]是拆分列表名称中索引为1和2的元素,但不包含索引为3的元素。

  我们来看一组代码:

  ``蟒蛇皮

  #以李=[1,2,3,4,5,6,7,8,9,10]为例。

  ```1.当所需要的的元素是某单个元素时

  ``蟒蛇皮

  打印(李[1])

  #2

  打印(李[9])

  #10

  打印(李[-5])

  #6

  #如前所述,当我们需要从列表中获取一个值时,我们可以使用它的索引来获取它。

  ```2.当所需要将列表进行倒置时

  ``蟒蛇皮

  打印(李:-1)

  #[10,9,8,7,6,5,4,3,2,1]

  ```

  xt-indent:0;text-align:justify;text-justify:inter-ideograph">3.当起始索引和结束索引都为正的时候

  

```python

  print(li[1:5])

  #[2,3,4,5]

  #步长为空默认为1从左往右取值起始索引1到结束索引5同样表示的是从左往右取值

  print(li[8:2])

  #[]

  """

  没有错就是空列表,步长省略表示默认为1,从左往右取值,但是起始索引和结束索引同为正,却是从8到2表示从右往左取值,所以为空

  """

  print(li[1:5:-1])

  #[]

  """

  同样是空列表,因为当步长为-1表示从右往左取值,而起始索引和结束索引则都为正表示从左往右取值,两者矛盾取不到值

  """

  print(li[:5:-1])

  #[10,9,8,7]

  """

  步长为-1,表示从右往左取值,而起始索引没有写表示从起始开始,而因为是是从右往左取值,所以这个起始位置就是10,及索引为9到索引为5(不包括5)之间的元素

  """

  ```

4.当起始索引和结束索引都为负的时候

  

```python

  print(li[-1:-7])

  #[]

  """

  步长默认为1,从左往右取值,而起始索引-1到结束索引-6决定了从右往左取值,两者矛盾,所以为空。

  索引-1在-6的右边

  """

  print(li[-5::-1])

  #[6,5,4,3,2,1]

  #步长为-1,从右往左取值,从起始索引-5开始,一直取到“起点”。

  ```

5.起始索引和结束索引正(+)负(-)混合索引的情况

  

```python

  print(li[1:-7:-1])

  #[]

  '''

  起始索引1在结束索引-7的左边,因此从左往右取值,但步长为-1则决定了从右往左取值,两者矛盾,因此为空。

  '''

  print(li[-1:7:-1])

  #[10,9]

  #起始索引-1在结束索引7的右边,因此从右往左取值,而步长-1同样决定了从右往左取值,因此结果正确

  ```

6.多层列表切片

  

```python

  print(li[:9][3:7][-1:])

  #[7]

  """

  相当于:

  li[:9]=[1,2,3,4,5,6,7,8,9]

  li[:9][3:7]=[4,5,6,7]

  li[:9][3:7][-1:]=[7]

  理论上是可以的进行多层切片,只要上一次的切片结果不为空

  """

  ```

7.取奇偶数

  

```python

  #我们可以通过切片来进行取出li中的奇数和偶数

  #奇数

  print(li[::2])

  #[1,3,5,7,9]

  print(li[1::2])

  #[2,4,6,8,10]

8.替换一部分值

  

```python

  lip[2:6]=[6,6,6,6]

  print(li)

  #[1,2,6,6,6,6,7,8,9,10]

  ```

总结:

  

列表切片的方向取决于起始索引、结束索引以及步长,当起始索引在结束索引右边是就是从右往左取值,同理反之。

  

当列表通过索引取单个元素时返回的是这个元素而非一个列表,当取连续的几个值时返回的是一个列表。

  

如需了解更多python实用知识,点击进入PyThon学习网教学中心

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: