python切片原理_分析python切片原理和方法

使用索引获取列表的元素(随机读取)

列表元素支持用索引访问,正向索引从0开始

colors=["red","blue","green"]

colors[0] =="red"

colors[1]=="blue"

同时,也可以使用负向索引(python中有序序列都支持负向索引)

colors[-1]=="green"

22b36372d04d581aa027bed4d3ffea11.png

列表的切片操作

切片操作不是列表特有的,python中的有序序列都支持切片,如字符串,元组。

切片的返回结果类型和切片对象类型一致,返回的是切片对象的子序列,如:对一个列表切片返回一个列表,

字符串切片返回字符串。

切片生成的子序列元素是源版的拷贝。因此切片是一种浅拷贝。

li=["A","B","C","D"]

格式:  li[start : end : step]

start是切片起点索引,end是切片终点索引,但切片结果不包括终点索引的值。step是步长默认是1。

t=li[0:3]        ["A","B","C"]        #起点的0索引可以省略,t=li[:3]

t=li[2: ]        ["C","D"]           #省略end,则切到末尾

t=li[1:3]        ["B","C"]

t=li[0:4:2]       ["A","C"]       #从li[0]到li[3],设定步长为2。

如何确定start和end,他们是什么关系?

在step的符号一定的情况下,start和end可以混合使用正向和反向索引,无论怎样,你都要保证

start和end之间有和step方向一致元素 间隔,否则会切出空列表

t=li[0:2]

t=li[0:-2]

t=li[-4:-2]

t=li[-4:2]

上面的结果都是一样的;t为["A","B"]

4306515f70de4457d54724449f700c52.png

t=li[-1:-3:-1]

t=li[-1:1:-1]

t=li[3:1:-1]

t=li[3:-3:-1]

上面的结果都是一样的;t为["D","C"]

24d097b63108427be3a7177de51e86ce.png

t=li[-1:-3]

t=li[-1:1]

t=li[3:1]

t=li[3:-3]

都切出空列表

62af49ade213ec00e4aaf6040be0d3c1.png

同时,step的正负决定了切片结果的元素采集的先后

省略start  和 end表示以原列表全部为目标

t=li[::-1]     t--->["C","B","A"]     #反向切,切出全部

t=li[:]        t--->["A","B","C","D"]   #正向切全部

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

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

相关文章

mysql max case连用_mysql 嵌套 case when 的问题

sql 语句如下:SELECTa.uc_id id,(CASE WHEN a.uc_realname IS NULL OR a.uc_realname THEN a.uc_sys_name ELSE a.uc_realname END) AS realName,a.uc_register_time registerTime,a.uc_phone phone,a.uc_last_login_time lastLoginTime,(CASEWHEN LEFT (a.uc_code,…

(二分搜索法尺取法)subsequence

题目 A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, and a positive integer S (S < 100 000 000) are given. Write a program to find the minimal length of the subsequence of consecutive elements of the s…

mysql order by rand 优化_mysql order by与by rand() 的优化经验

介绍下MySQL中的order by语句。几种order by的情况从最简单的case开始看起。用这个表来说明&#xff1a;(10w行数据)1、 最简单的order ―― order by索引字段从explain的结果来看(Extra列)&#xff0c;这个语句并不作排序。因为字段a已经是有顺序的。就是按照索引a的顺序依次…

python locust api_干货 | 基于Locust的接口压测

作者介绍&#xff1a;吴锋雷。PP云高级测试工程师&#xff0c;拥有10年业务研发和测试经验&#xff0c;目前负责SDK及相关产品的测试工作。系统上线前一般要通过压力测试来判断下是否能承受预估的访问量&#xff0c;假设我们要测试的接口每天访问量是10万&#xff0c;那么平均下…

(贪心)区间问题大致思路

1.选择不相交区间。 a.描述&#xff1a; 数轴上有n个开区间(ai, bi)。选择尽量多个区间&#xff0c;使得这些区间两两 没有公共点。 b.思路总结&#xff1a; 1.区间x完全包含y&#xff0c;选y 2.按照bi从小到大排序&#xff0c;从第一个区间开始选 3.把所有和上一个区间相…

STM32的DHT11

DHT11基础 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传 感器。它应用专用的数字模块采集技术和温湿度传感技术&#xff0c;确保产品具有极高 的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测 温元件&#xff0c;并与一个高性能…

Java智能卡 技术_java智能卡APDU学习笔记

因项目需要&#xff0c;利用APDU通信协议在ME手机端和卡端进行通讯。在实践的过程中遇到一些问题&#xff0c;先记录如下。APDU协议&#xff0c;即是智能卡与读写器间的应用层协议&#xff0c;在ISO7816-4[7]中定义了该协议的结构格式。APDU数据有两种结构&#xff0c;读写器使…

(二叉树存储+递归遍历)Binary Tree Traversals

题目&#xff1a; A binary tree is a finite set of vertices that is either empty or consists of a root r and two disjoint binary trees called the left and right subtrees. There are three most important ways in which the vertices of a binary tree can be sys…

(二叉树创建+查找)精灵邮差

题目 精灵是非常奇特的生物。众所周知&#xff0c;他们可以活很长时间&#xff0c;他们神奇的能力不是一件容易接受的事情。此外&#xff0c;他们住在树上。但是&#xff0c;你可能不知道有些事情。虽然通过魔法传送提供东西非常方便&#xff08;很像电子邮件&#xff09;。他…

(找规律)Magic of David Copperfield

题目&#xff1a; 每一个参与的观众被要求将手指放在左上方的图片上&#xff08;即编号为1的图片&#xff09;&#xff0c;魔术师开始了&#xff1a;魔术师告诉观众在图片上移动k次&#xff08;移动是把手指放到上下左右相邻的图片上&#xff0c;如果那儿有图片的话&#xff0…

(DAG+固定终点的最长路和最短路)硬币问题

##题目&#xff1a; 有n种硬币&#xff0c;面值分别为v1, v2, …, vn&#xff0c;每种都有无限多。给定非负整数S&#xff0c;可以选用多少个硬币&#xff0c;使得面值之和恰好为S&#xff1f;输出硬币数目的最小值和最大值。 Input 第一行两个整数&#xff0c;n&#xff0c;S…

java虚拟机堆栈工作原理_java虚拟机工作原理?

展开全部从宏观上介绍一下Java虚拟机的e5a48de588b662616964757a686964616f31333363373731工作原理。从最初编写的Java源文件(.java文件)是如何一步步执行的&#xff0c;如下图所示&#xff0c;首先Java源文件经过前端编译器(javac或ECJ)将.java文件编译为Java字节码文件&#…

(BFS)Catch That Cow(poj3278)

题目&#xff1a; 农夫知道一头牛的位置&#xff0c;想要抓住它。农夫和牛都于数轴上 &#xff0c;农夫起始位于点 N(0<N<100000) &#xff0c;牛位于点 K(0<K<100000) 。农夫有两种移动方式&#xff1a; 1、从 X移动到 X-1或X1 &#xff0c;每次移动花费一分钟 2…

java jmx 监控_只用五分钟为系统实现基于JMX的监控

早期是作为J2EE的一部分, 因此总给人一种开发起来会很"重"的感觉, 这让不少Java程序员宁愿选择自行实现"轻量级"方案. 时至今日, 借助一些优秀的开源项目, JMX 也可以用起来很"轻".pojo-mbean 使用Annotation对MBean进行声明, 省去不少 JMX规范中…

wsld2java axis_Weblogic+axis2安装

Weblogicaxis2安装实验环境系统版本使用到软件软件版本Redhat 6.3Ld-linux.so.2Ld-linux.so.2 安装的weblogic的需要安装(系统自带)Weblogic10.3Axis21.41在以下实验中我使用的是1.41的war包 &#xff0c;下载war包的话可以在weblogic中进行部署。实验步骤&#xff1a;启动webl…

java流读写_java流概述以及文件读写示例

1. 先分清楚是字节流还是字符流。字节流&#xff1a;InputStream OutputStream字符流&#xff1a;Reader Writer字符流与字节流的区别是读取的单位长度不同&#xff0c;字节流读8字节&#xff0c;字符流读16字节&#xff0c;所以有中文时&#xff0c;就得用字符流。2. 在字节/字…

python自动化操作应用程序错误_web自动化中踩过的低级错误坑(python+selenium)

1.定位了元素没有做下一步操作&#xff0c;比如&#xff0c;点击、输入等功能&#xff0c;而报错&#xff0c;报错信息如下&#xff1a;2.上传图片时&#xff0c;定位元素&#xff0c;应该定位input标签&#xff0c;点击页面input标签肉眼没有看到定位到任何元素&#xff0c;以…

qgis折点打断_arcgis在折点处打断并建立网络分析(最短路径等问题)

目的&#xff1a;GIS网络分析用于对段路径等问题。这里仅仅讲述如何建立网络分析。网络建立前必须满足以下条件1.要素文件在节点处打断(本文下面会叙述)2.要素文件在地理数据库里的数据集里(一般是这样)3.要素文件包含的数据集里已经验证拓扑&#xff0c;并确保没有错误(可选)注…

base64 java php_利用PHP将图片转换成base64编码的实现方法

先来说一下为什么我们要对图片base64编码base64是当前网络上最为常见的传输8Bit字节代码的编码方式其中之一。base64主要不是加密&#xff0c;它主要的用途是把某些二进制数转成普通字符用于网络传输。由于这些二进制字符在传输协议中属于控制字符&#xff0c;不能直接传送&…

(BFS)Knight Moves(hdu1372)

题目&#xff1a; 在象棋王国&#xff0c;尼古拉斯.火山是一匹英俊的马&#xff0c;他非常幸运迎娶了白马王国的公主&#xff0c;他们将度蜜月&#xff0c;你现在是他们的女仆&#xff0c;火山会问你去一些地方最少需要多少步&#xff0c;这么简单的事当然难不倒你。由于火山是…