python分片的步长_Python的分片操作
在列表中有一种操作叫做分片
一般形式:
l2=[4,6,1,7,9]
e = l2[2:4]
print(e)
该代码运行结果如下:[1, 7]
从下标来看可以很容易的知道下标二对应的正好是元素3,值1
但是,却没有下标4的元素5,值9
所以,我们得出一个结论:
Python的分片操作含左不含右
操作范围[m,n]—>实际范围[m,n-1]
假定有一个list
l = [3,4,5,1,7]
如果我们想要取出其中的元素3,5,7呢?
这里涉及到了分片操作中的步长参数
形式如下:
l[2:4:1]
分片中的1就是步长参数
整体表示从下标2开始取出,每次+1,到下标3停止
eg
l2=[4,6,1,7,9]
e = l2[2:5:1]
print(e)
输出结果:[1,7,9],同时证明了:
分片操作的默认步长参数是1
从上面的实例中我们不难看出分片操作默认的步长参数是正数 ,那我们的步长参数是否可以为负数呢?同理我们的下标是否可以为负呢?
一.下标为负
l4 = [3,5,1,6,2]
e4 = l4[-4:-2]
print(e4)
输出结果为:[5,1]
这时,我们需要普及一个知识:
当下标为负时,列表最后一个元素的下标是-1
即:2的下标是-1,并且和下标为正时一样,越往右边下标值越大,所以下标为负时,最大下标为-1(注意,当步长为正数时,分片操作的起始下标必须小于终止下标,可以理解为逐渐加上正数的步长的话下标是从左往右增大的)
数组l4中元素对应的下标分别是3 --> -5 , 5 --> -4 , 1 --> -3 , 6 --> -2 , 2 --> -1
但是,通过l4的实例输出,我们又可以看到,输出顺序仍然是[5,1],从左往右输出
这时,就和分片操作的默认步长有关了
我们在上述中说到了分片操作的默认为1,所以易得遇到下标-4,取出-4的元素,然后-4+1进行偏移,取出下标-3的元素,通过**[m,n]–>[m,n-1]**,可知-2-1 == -3,所以下标到-3即停止,最终取出的是下标为-4和-3的元素
那么,如果我们想要分片操作从右往左执行呢?
上面提到,分片操作默认的步长是1,从左往右执行,那如果步长为-1,是不是就从右往左执行了呢
l5=[4,5,7,1,9]
e5 = l5[-2:-4:-1]
print(e5)
输出结果:[1,7]
在上面我们提到过,步长为正数时,分片起始下标必须小于终止下标,但是当步长为负数时,分片起始下标必须大于分片终止下标(不然返回空列表)
python分片的步长_Python的分片操作相关推荐
- python 流写入文件_python文件流操作
博主在学习python时对文件进行操作时经常踩一下坑.所以专门梳理了一下.有问题麻烦指出哈. python对于文件的操作我们一般是用open().我们根据python的源码可以看出.我们必须要传的参是 ...
- 如何用python实现自动化办公_python自动化办公操作PPT的实现
1.python-pptx模块简介 使用python操作PPT,需要使用的模块就是python-pptx,下面来对该模块做一个简单的介绍.这里提前做一个说明:python操作PPT,最好是我们提前设计 ...
- python文件读写r+_python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)
一.常用 'r':只读.该文件必须已存在. 'r+':可读可写.该文件必须已存在,写为追加在文件内容末尾. 'rb':表示以二进制方式读取文件.该文件必须已存在. 'w':只写.打开即默认创建一个新文 ...
- python生成数据库指令_Python学习—数据库操作
python2中操作数据库:MySQLdb python3中操作数据库:pymysql python接连数据库 1.创建数据库连接: mysql.connect()函数 2.执行数据库操作: 执行数据 ...
- python函数做菜单_PYTHON图形化操作界面的编程七__创建菜单
PYTHON图形化操作界面的编程七__创建菜单 十八.创建菜单 1.水平菜单的创建 创建菜单需要多条语句,所以这里通过实例来说明水平菜单的创建方法: 下面的语句可以在窗口中添加水平菜单,其中前四行语句 ...
- python获取数据库列名_python sqlite3 查询操作及获取对应查询结果的列名
记录查询操作及获取查询结果列字段的方法 1.sqlite3 中获取所有表名及各表字段名的操作方法 SQLite 数据库中有一个特殊的表叫 sqlite_master,sqlite_master 的结构 ...
- python连接es数据库_Python Elasticsearch API操作ES集群
环境Centos 7.4 Python 2.7 Pip 2.7 MySQL-python 1.2.5 Elasticsearc 6.3.1 Elasitcsearch6.3.2 知识点调用Python ...
- python遍历文件对象_Python文件常见操作实例分析【读写、遍历】
本文实例讲述了Python文件常见操作.分享给大家供大家参考,具体如下: 1.文件是什么? 文件是存储在外部介质上的数据或信息集合,程序中源程序.数据中保存的数据.图像中的像素数据等等: 文件是有序的 ...
- python实现文件管理系统_Python使用文件操作实现一个XX信息管理系统的示例
大家好,我是第一次python学了一个学期,期末要完成一个毕业生信息管理系统大作业的小韩了,由于上次没有仔细看开发实现的要求,实现了一个简单的毕业生信息管理系统,而这次专门整理了两种使用文件进行保存数 ...
最新文章
- 【Docker】Docker的三大核心组件
- python做社会网络分析_社交网络分析(Social Network Analysis in Python)①
- 10行Python代码自动清理电脑内重复文件
- iptables基础篇
- 了解活动目录操作主机角色及GUI命令行查看方法
- python rename dataframe,python rename dataframe_python – 重命名Pandas DataFra
- radar(nyoj287贪心)
- 全面认识openstack:OpenStack架构详解
- 基于大数据的软件智能化开发方法与环境
- 1口百兆光纤收发器工业导轨式发送机接收机1百兆光1百兆电工业以太网光纤收发器
- fleck 客户端_Fleck - 又一个灵感之源 #iPhone
- java数字转罗马数字
- 1-系统C盘迁移到新买的固态硬盘SSD中有影响但不主要,但有必要将系统盘C盘迁移到新安装的 固态硬盘SSD中吗?
- Decal的另类用法
- 美国队长的工资 python代码-详解用Python练习画个美队盾牌
- android实现截图功能
- 0x000001b8指令引用的0x000001b8内存该内存不能为read
- 全世界205个国家和地区奥委会全部参加北京奥运
- python能做射击类游戏吗_python能做游戏吗
- 菲律宾外汇储备降至两年来的最低水平