千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:济南千锋IT培训  >  技术干货  >  python列表切片是什么

python列表切片是什么

来源:千锋教育
发布人:xqq
时间: 2023-11-06 20:51:39

我们基本上都知道Python的序列对象都是可以用索引号来引用的元素的,索引号可以是正数由0开始从左向右,也可以是负数由-1开始从右向左。

在Python中对于具有序列结构的数据来说都可以使用切片操作,需注意的是序列对象某个索引位置返回的是一个元素,而切片操作返回是和被切片对象相同类型对象的副本。

如下面的例子,虽然都是一个元素,但是对象类型是完全不同的:

>>>alist=[0,1,2,3,4,5,6,7,8,9]

>>>alist[0]

0

>>>alist[0:1]

[0]

通常一个切片操作要提供三个参数[start_index:stop_index:step]

start_index是切片的起始位置

stop_index是切片的结束位置(不包括)

step可以不提供,默认值是1,步长值不能为0,不然会报错ValueError。

当step是正数时,以list[start_index]元素位置开始,step做为步长到list[stop_index]元素位置(不包括)为止,从左向右截取,

start_index和stop_index不论是正数还是负数索引还是混用都可以,但是要保证list[stop_index]元素的【逻辑】位置

必须在list[start_index]元素的【逻辑】位置右边,否则取不出元素。

比如下面的几个例子都是合法的:

>>>alist=[0,1,2,3,4,5,6,7,8,9]

>>>alist[1:5]

[1,2,3,4]

>>>alist[1:-1]

[1,2,3,4,5,6,7,8]

>>>alist[-8:6]

[2,3,4,5]

当step是负数时,以list[start_index]元素位置开始,step做为步长到list[stop_index]元素位置(不包括)为止,从右向左截取,

start_index和stop_index不论是正数还是负数索引还是混用都可以,但是要保证list[stop_index]元素的【逻辑】位置

必须在list[start_index]元素的【逻辑】位置左边,否则取不出元素。

比如下面的几个例子都是合法的:

>>>alist=[0,1,2,3,4,5,6,7,8,9]

>>>alist[-1:-5:-1]

[9,8,7,6]

>>>alist[9:5:-1]

[9,8,7,6]

>>>alist[-1:1:-1]

[9,8,7,6,5,4,3,2]

>>>alist[6:-8:-1]

[6,5,4,3]

假设list的长度(元素个数)是length,start_index和stop_index在符合虚拟的逻辑位置关系时,

start_index和stop_index的绝对值是可以大于length的。比如下面两个例子:

>>>alist=[0,1,2,3,4,5,6,7,8,9]

>>>alist[-11:11]

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

>>>alist[11:-11:-1]

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

另外start_index和stop_index都是可以省略的,比如这样的形式alist[:],被省略的默认由其对应左右边界起始元素开始截取。

看一下具体的实例:

>>>alist=[0,1,2,3,4,5,6,7,8,9]

>>>alist[:]

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

以上内容为大家介绍了python培训之列表切片是什么,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

python中merge函数如何使用?

2023-11-14

python中str内置函数总结归纳

2023-11-14

python中的unittest框架是什么?

2023-11-14

最新文章NEW

python timedelta函数是什么?

2023-11-14

Python jieba库分词模式怎么用?

2023-11-14

TCP在python中如何连接服务器?

2023-11-14

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>