负索引和负方向

news2024/11/24 3:23:45

        在python里有序集合的index位置信息可正可负,方向可以从左向右或从右向左。以“python”字符串通过list函数转化生成的列表为例,其正负位置信息index值如下所示:

0

1

2

3

4

5

'p'

'y'

't'

'h'

'o'

'n'

-6

-5

-4

-3

-2

-1

故,切片的start、end、step也可用负数来表示。

例1:

s = "python"
print s
a = list(s)
print a
b = a[1 : -2 : 1]
print b
c = a[1 : -2 : -1]
print c

 

程序的执行结果如下:

python
['p', 'y', 't', 'h', 'o', 'n']
['y', 't', 'h']
[]

 

为何c为空呢?

原因:从起点start开始如果step为正从左向右到达end进行切片操作,如果step为负从右向左到达end进行切片操作。对b起点在左方向向右是能到达终点的,而对于c那条切片语句a[1 : -2 : -1],起点在左方向向右是无法到达终点的故结果集为空。

例2

s = "python"
print s
a = list(s)
print a
b = a[-1 : 2 : 1]
print b
c = a[-1 : 2 : -1]
print c

 

程序的执行结果如下:

python
['p', 'y', 't', 'h', 'o', 'n']
[]
['n', 'o', 'h']


 

为何b为空呢?

对于b和c所对应的取切片操作的起点start = -1、终点end = 2,但取得b的切片操作的step = 1意思是从起点从左向右到达终点,不可能,因为终点在左边故b为空的列表集。而c所对应的取切片操作的方向是step = -1即从右向左是可以最终到达终点的,故得到['n', 'o', 'h']结果。

例3

对于字符串,有序的集合,也是可以使用切片的。有的时候切片操作的start和end以及step会没有指定,这个时候是一些特殊用法,通常暗含的意思是该方向上的首尾。

s = "python"
print s[:]
print s[::1]
print s[::-1]
print "*****"
print s[1::1]
print s[1::-1]
print "*****"
print s[:5]
print s[:3:1]
print s[:3:-1]

 

程序执行结果:

python
python
nohtyp
*****
ython
yp
*****
pytho
pyt
no

 

(1) s[:]切片,[:]即全切即列表本身,即首尾都要。

(2) s[::1]切片,正向全切,正向全切结果和s[:]一样

(3) s[::-1]切片,负向全切,等价于s[len(s)-1::-1]

(4)s[1::1]切片,从index为1开始到正方向尾部所有元素。

(5)s[1::-1]切片,从index为1开始一直沿负方向(右向左)到该方向尾部。

(6)s[:5]切片,正向切到index为5 - 1 = 4为止,起点默认为该方向的起点值0。

(7)s[:3:1]切片,明确指明了正向步长为1,正向切片的终点index为3,起点默认该方向的起点值0 。

(8)s[:3:-1]切片,负方向切片的终点为3,起点默认为该方向的起点值-n 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1258809.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多线激光三维重建

交流联系点击:联系方式

AI写作工具有哪些?盘点最新热门的免费AI写作工具

在AI潮流的巅峰,各种智能工具如雨后春笋般涌现,为我们的创作生活注入了前所未有的活力。AI写作、AI绘画、AI编程、AI视频、AI音频等层出不穷,这其中,值得一提的是几款极具创意的AI写作工具。无论你是繁忙的职场人士、勤奋的学子&a…

MacOS14 Sonoma 安装 Flutter 开发环境

本文针对 小白用户也包括自己,以前都是将这些写入我的有道云笔记。为了让给多人看见或者说自己更好的浏览,先将其记录如下。 朋友介绍一个项目说要开发一款App,最近也是闲着就答应下来。主要功能是通过蓝牙BLE控制设备的一个 Iot边缘设备&…

使用群晖Synology Office提升生产力:如何多人同时编辑一个文件

使用群晖Synology Office提升生产力:多人同时编辑一个文件 正文开始前给大家推荐个网站,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 文章目录 使用群晖Synol…

营销软文怎么写,媒介盒子分享

企业营销落地过程中,高质量的营销文案创作是很多企业的难题,这就导致公司可能投入了大量成本却很难看到回报,今天媒介盒子就来分享:如何打造高质量营销软文。 一、 选题具有吸引力 文案选题等于支撑点,想要写出高质量…

鸿蒙原生应用/元服务开发-AGC分发如何申请发布证书

申请发布证书 发布证书由AGC颁发的、为HarmonyOS应用配置签名信息的数字证书,可保障软件代码完整性和发布者身份真实性。证书格式为.cer,包含公钥、证书指纹等信息。 说明 请确保您的开发者帐号已实名认证。每个帐号最多申请1个发布证书。 1.登录AppGall…

用itbuilder制作漂亮的ER图

更新提示 itBuilder本次升级给大家带来了漂亮的ER图,可以修改背景颜色,修改了连线为专业的ER图连线,鼠标悬停显示高亮相关连线,更直观的了解表关系。 背景色 点击标题的调色板可以调整背景颜色 效果展示 高亮连线 鼠标悬停在某…

还在为写论文焦虑?免费AI写作大师来帮你三步搞定

先来看1分钟的视频,对于要写论文的你来说,绝对有所值! 还在为写论文焦虑?免费AI写作大师来帮你三步搞定 第一步:输入关键信息 第二步:生成大纲 稍等片刻后,专业大纲生成(由于举例&am…

Nginx-进程

Nginx-相关问题_01 Windows关闭所有nginx服务 windows 系统下开发调试时不用每次频繁的 启动->任务管理器->查找进程->结束进程! 查看nginx的进程占用情况 tasklist | find /i "nginx.exe" || exit关闭nginx的所有进程 taskkill /im nginx.…

助力企业实现更简单的数据库管理,ATOMDB 与 TDengine 完成兼容性互认

为加速数字化转型进程,当下越来越多的企业开始进行新一轮数据架构改造升级。在此过程中,全平台数据库管理客户端提供了一个集中管理和操作数据库的工具,提高了数据库管理的效率和便利性,减少了人工操作的复杂性和错误率&#xff0…

Xred木马是什么

xred是非常常见的蠕虫病毒之一,属于AutoRun家族,样本变种极多,使用Dephi编写。 病毒可通过文件分享和U盘、移动硬盘等媒介传播。 最常见的域名就是: xred.mooo.com 一般会访问链接,下载文件,但是网址文件…

云计算领域风向标、科技界年度重磅盛会:2023亚马逊云科技re:Invent

今日,云计算领域的风向标、科技界的年度重磅盛会2023亚马逊云科技re:Invent已于美国拉斯维加斯盛大启幕! 构回顾高光时刻 亚马逊云科技re:Invent全球大会,已成为全球云领域创新年度发布的关键节点,走过了12年,下面一起…

自养号测评的优势以及搭建注意事项

在当今的电商领域,测评如同一面镜子,为商家展现出产品的真实面貌。对于商家而言,自行养号进行测评的重要性日益凸显。 与依赖国外买手或测评服务商相比,自行搭建账号具有以下优势: 首先,可以避免买家账号…

在Spring Boot中使用@Async异步任务的线程池

在读这篇文章之前,我们先回答一个问题,什么是并发,并发和多线程是什么关系? 并发是指系统中存在多个独立的活动(任务、线程等),这些活动在一段时间内交替执行,从而使得多个活动在重…

C++:由哈希延伸出来的应用--位图和布隆过滤器

文章目录 位图的概念位图的实现布隆过滤器布隆过滤器的查找布隆过滤器的删除布隆过滤器的优点 布隆过滤器的实现 本篇实现的是位图和应用 位图的概念 下面有这样的场景:给定40亿个数,现在要找这当中的一个数,如何寻找? 遍历&am…

box-sizing属性,IE怪异盒模型

有没有遇到过这种情况? 当一个放在整个页面的容器,它的宽度定义为 width:100%; 之后。假设再添加 padding ,border 或者 margin 则会溢出父容器,是向外扩张的,也就是说设置了之后看不到效果。 首先看盒模型&#xf…

linux下的工具---yum

一、什么是yum yum是Linux下的软件包管理器 二、什么是软件包管理器 1、在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 2、但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在…

【实战教程】PHP与七牛云的完美对接,你值得拥有!

前言: 随着互联网的迅速发展,越来越多的网站和应用程序需要处理大量的图片、视频和其他文件。为了有效地存储和管理这些文件,并提供快速的内容分发服务,开发者们常常依赖于云存储和CDN服务提供商。 七牛云是一家领先的云存储和C…

如何使用技术SEO来优化产品轮播

SEO(搜索引擎优化)对你来说并不陌生。现代电子商务系统通常包含旨在吸引谷歌等搜索引擎机器人注意的关键字。 但是,技术 SEO 在代码和服务器级别调查电子商务 SEO 策略。它改善了网站的技术因素,例如页面加载的速度以及抓取的直接…

可移动框 弹窗 可拖拽的组件

电脑端: <template><divv-if"show"ref"infoBox"mousedown.stop"mouseDownHandler"class"info-box":style"styleObject"><slot></slot></div> </template> <script> export defa…