百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

10 Python对象-内部类型之切片对象

off999 2024-09-21 21:03 41 浏览 0 评论

Python在扩展切片语法时,就会创建切片对象。

切片对象

切片语法

# 定义一个列表
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 使用切片操作获取子列表 my_list[start,end]。start:索引起始位置,end:索引结束位置
sub_list = my_list[1:5]  # 获取从索引1到索引4(不包括5)的元素
print(sub_list)  # 输出: [2, 3, 4, 5]

# 省略start
sub_list_start_omitted = my_list[:5]  # 从开始到索引4
print(sub_list_start_omitted)  # 输出: [1, 2, 3, 4, 5]

# 省略stop
sub_list_stop_omitted = my_list[5:]  # 从索引5到结束
print(sub_list_stop_omitted)  # 输出: [6, 7, 8, 9, 10]

# 省略step
# 在这个例子中,我们不显式省略step,因为它默认为1

# 使用step
sub_list_with_step = my_list[::2]  # 从开始到结束,步长为2
print(sub_list_with_step)  # 输出: [1, 3, 5, 7, 9]

# step为负,则从尾向头移动
sub_list_with_step = my_list[::-1]  # 从开始到结束,步长为-1
print(sub_list_with_step)  # 输出: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
sub_list_with_step = my_list[::-2]  # 从开始到结束,步长为-1
print(sub_list_with_step)  # 输出: [10, 8, 6, 4, 2]

slice()函数

可以通过内置的slice()函数来显式地创建切片对象。

slice() 函数是 Python 的内置函数,用于生成一个切片对象,这个切片对象表示了一个序列(如列表、元组、字符串等)的切片范围。slice() 函数的参数解释如下:

slice(start, stop[, step])

  • start

(可选): 切片的起始索引。如果省略,默认为 None,表示切片的开始将取决于被切片对象的长度。对于序列来说,如果 start 是 None,则切片将从序列的开始处开始。

  • stop

(必需): 切片的结束索引(但不包括此索引处的元素)。如果 stop 被省略,并且 start 也被省略,slice() 将生成一个表示整个序列的切片。但是,如果只有 stop 被省略,并且 start 提供了,那么切片将一直延伸到序列的末尾。

  • step

(可选): 切片的步长。如果省略,默认为 1。步长可以是正数也可以是负数。正数表示从左到右遍历序列,而负数表示从右到左遍历。如果步长为零,则会引发 ValueError。

# 使用 slice() 函数
s = slice(1, 5, 2)

# 使用切片对象从列表中获取子列表
sub_list = my_list[s]
print(sub_list)  # 输出: [2, 4]

# 省略 start
s_no_start = slice(None, 5)
sub_list_no_start = my_list[s_no_start]
print(sub_list_no_start)  # 输出: [1, 2, 3, 4]

# 省略 stop
s_no_stop = slice(1, None)
sub_list_no_stop = my_list[s_no_stop]
print(sub_list_no_stop)  # 输出: [2, 3, 4, 5, 6, 7, 8, 9, 10]

# 省略 step(默认 step=1)
s_default_step = slice(1, 5)
sub_list_default_step = my_list[s_default_step]
print(sub_list_default_step)  # 输出: [2, 3, 4]

如果slice()函数生成的切片对象如果不应用到有限序列中,就会输出slice()函数本身。

# 省略 stop
s_no_stop = slice(1, None)
print(s_no_stop)

输出:

None对象

忽略对象用于扩展切片语法中,起到记号作用,类似Null对象。表示空值或“无”的概念。它通常用于指示某个变量没有指向任何对象,或者某个函数没有明确的返回值(尽管在Python中,每个函数实际上都有一个返回值,如果没有显式返回,则默认返回 None)。

Ellipsis对象

通常用于多维数组(如NumPy数组)的切片操作中,作为占位符来表示“选择该位置的所有元素”。在Python代码中,Ellipsis 通常通过三个连续的点 ... 来表示。Ellipsis的布尔值始终为True。

# Ellipsis 的使用(在NumPy数组中)
import numpy as np

arr = np.arange(24).reshape(2, 3, 4)
sub_arr = arr[..., :2]  # 使用 ... 来选择前两个维度的所有元素和第三个维度的前两个元素
print(sub_arr)

相关推荐

云电脑app哪个好(手机云电脑app哪个最好)

答:以下是一些比较好的云电脑应用程序推荐:1.AnyDesk-支持Windows、MacOS、Linux、Android和iOS,可用于远程访问和控制PC或移动设备。2.Splashtop...

怎样注册邮箱163免费(怎样注册邮箱163免费账号)

一、工具:电脑(联网)、浏览器二、操作步骤:【1】打开浏览器,找到“163邮箱”,点击。【2】点击右边的“注册”。【3】网站默认注册手机号码邮箱,填写信息,点击“注册”。若不想泄漏手机号码或不想使用手...

微软surface pro 6(微软surface pro 6可以扩容吗)

SurfacePro6的接口包含:1个标准尺寸USB3.0端口,3.5mm耳机插孔,MiniDisplayPort,1个SurfaceConnect端口,Surface专业键盘盖端口,microSDX...

电源已接通未充电怎么回事(电源已接通未充电 真正解决办法)

原因分析:出现这样的原因有可能是长时间没有充电,导致电池的内部电量耗完后亏电严重,只是电脑充电的保护,不让过充而已,只要设置一下电池选项一般就可以解决问题了。解决方法:1、关机,拔下电源,拔出电池,...

华为云会议app下载(华为云会议下载)

 华为云会议可以在PC客户端或者手机客户端上一键发起立即会议,1秒创会。然后在会中选择企业通讯录中的人加入,系统会自动呼叫这些与会人,接听后即加入会议。ZOOM是一个云会议服务平台,为客户提...

路由器重置方法(路由器重置方法详细步骤)

路由器靠近WAN口边上的有一个小孔用于路由器的重置,路由器配置完成后,我们可能会忘记他的用户名或者是密码,那么我们可以把它恢复到出厂设置,再靠近万口或电源之间,有一个小孔,用一个尖锐的金属查一下大约五...

100个有效qq号以及密码(有效qq号和密码大全)

如果你的电脑知识好的话,不妨用一些复合密码!SHIFT+一些特殊符号,字母,数字!虽然麻烦了点,但总比被人盗号了的好,是吧!最好还用手机绑定一下,这样的话方便改密码也不怕QQ被盗了哦。。。QQ密码找回...

win10家庭中文版下载官网(windows10家庭中文版下载)

你好,激活Win10家庭中文版的方法:1.购买正版Win10家庭中文版激活码,然后在计算机上输入激活码,即可完成激活。2.如果您已经安装了Win10家庭中文版,但尚未激活,可以通过以下步骤激活:-...

电脑截图在哪里找(电脑截图在哪里找图片win10)

截图默认会保存在电脑的剪贴板中,可以通过以下步骤将其保存到本地:1.打开任意一款图片软件,如Paint、Photoshop、Word等。2.按下键盘上的Ctrl+V,或者在软件菜单栏中选择&#...

电脑里一堆microsoft visual

按照系统向下兼容原理,保留2010就可以了.1)你安装的时候是不是把创建快捷键的选项框都没选上,导致在开始菜单中没有找到相应的链接?2)去你的安装目录下,找到Microsoftvisualc++...

windows无法识别usb(windows无法识别usb设备)
windows无法识别usb(windows无法识别usb设备)

Windows无法识别USB,解决办法如下右键开始菜单打开设备管理器,在通用串行总线控制器中右键点击设备选择“卸载”,完成后重新启动计算机即可解决问题。这有可能是在组策略中禁用了USB口,可以使用快捷键【Win+R】运行gpedit.msc...

2025-11-10 11:51 off999

bios能看到硬盘 开机找不到硬盘

bios里可以看到硬盘,说明硬盘已经被主板识别。进系统找不到,可能硬盘没分区,或者硬盘是动态磁盘,还没有导入或激活。按win+r,输入diskmgmt.msc回车,就打开磁盘管理了,在里面可以给新硬盘...

找回qq聊天记录的方法(找回qq聊天记录怎么找)
  • 找回qq聊天记录的方法(找回qq聊天记录怎么找)
  • 找回qq聊天记录的方法(找回qq聊天记录怎么找)
  • 找回qq聊天记录的方法(找回qq聊天记录怎么找)
  • 找回qq聊天记录的方法(找回qq聊天记录怎么找)
无线网有个红叉(无线网有个红叉,搜索不到网络)

连接失败,路由坏换路由,外网坏,报修无线网络处出现红叉表示设备无法正常工作。请检查网卡驱动是否正常,无线网络开关是否打开。解决方法:查看电脑是否有无线网络开关,且是否打开。进入设备管理器检查网卡驱动是...

thinkpad笔记本官网首页(thinkpad官方商城)

官方网站 国内:http://www.thinkworld.com.cn   国内用户只需要访问国内即可。  ThinkPad,中文名为“思考本”,在2005年以前是IBMPC事业部旗下的便携式计算机...

取消回复欢迎 发表评论: