彻底弄清python的切片
lis = range(100)
# [0, 1, 2, 3, ..., 99] # 取前10个
lis[:10]
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 取后10个
lis[-10:]
# [90, 91, 92, 93, 94, 95, 96, 97, 98, 99] # 第11到20个
lis[-10:]
# [90, 91, 92, 93, 94, 95, 96, 97, 98, 99] # 前10个数,每两个取一个(这里要注意第三位是间隔)
lis[:10:2]
# [0, 2, 4, 6, 8]
lis[::10]
# [0, 10, 20, 30, 40, 50, 60, 70, 80, 90] # 倒序
lis[::-1]
# [99, 98, 97, ... , 3, 2, 1, 0 ]
一定不要和matlab的命令弄混,matlab第二位为间隔,而python为第三位。
然后就是反向的切片
In [46]: b = range(10) In [47]: b
Out[47]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] In [48]: b[-5:-2]
Out[48]: [5, 6, 7] In [49]: b[-5:-2:-1] # 错误
Out[49]: [] In [50]: b[-5:-2:1] # 与48等价,正向切片,第二位大于第一位,顺序为从第一位到第二位,从左到右
Out[50]: [5, 6, 7] In [51]: b[-2:-5:1] # 错误
Out[51]: [] In [52]: b[-2:-5:-1] # 反向切片,第二位小于第一位,顺序为从第一位到第二位,从右到左
Out[52]: [8, 7, 6] In [53]: b[:-5:-1] # 反向切片,第一位实际为-1,第二位小于第一位,顺序为从第一位到第二位,从右到左
Out[53]: [9, 8, 7, 6]
小结: 不管正向切片或者反向切片,取出的顺序都是从第一位到第二位,方向看第三位符号:正(左到右)负(右到左),间距看第三位的数值,最后第二位均取不到(取到其前面一位)。
彻底弄清python的切片的更多相关文章
- python基础——切片
python基础——切片 取一个list或tuple的部分元素是非常常见的操作.比如,一个list如下: >>> L = ['Michael', 'Sarah', 'Tracy', ...
- python中切片的理解
Python中什么可以切片 l Python中符合序列的有序序列都支持切片(slice) l 如:列表,字符,元祖 Python中切片的格式 l 格式:[start : end : step] ...
- Python字符串切片操作知识详解
Python字符串切片操作知识详解 这篇文章主要介绍了Python中字符串切片操作 的相关资料,需要的朋友可以参考下 一:取字符串中第几个字符 print "Hello"[0] 表 ...
- Python中切片的应用
Python中切片的应用 Python中可以通过切片实现对列表或者字符串取指定范围的操作,实际就是通过对列表或者字符串通过索引进行操作. 具体细节点击廖雪峰Python教程,其中的课后小问题在此记录下 ...
- Python 的切片为什么不会索引越界?
切片(slice)是 Python 中一种很有特色的特性,在正式开始之前,我们先来复习一下关于切片的知识吧. 切片主要用于序列对象中,按照索引区间截取出一段索引的内容. 切片的书写形式:[i : i+ ...
- Python札记 -- 切片赋值
一.疑惑 今天在看<Python Cookbook>第四章Python技巧的4.7小节时,发现一段初看起来让人疑惑的代码.该小节的任务是将一个包含列表(行)的列表,转换成一个新的列表 ...
- Python学习笔记(五)Python的切片和迭代
切片 Python提供了切片操作符,可以对list.tuple.字符串进行截取操作. list中的切片应用 语法如下: >>> L = ['Michael', 'Sarah', 'T ...
- Python 函数 切片 迭代 列表生成器
函数 编写 定义一个函数要用def语句 def sum(i,n): ⚠有冒号 返回多值 实际上是返回一个tuple 定义默认参数 默认参数的作用是简化调用 def ...
- python的切片操作
切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割.注意这与你使用的索引操作符十分相似.记住数是可选的,而冒号是必须的. 切片操作符中的第一个数(冒号之前)表示切片开始的位置,第 ...
随机推荐
- 【转】.Net 程序集 签名工具sn.exe 密钥对SNK文件 最基本的用法
阐述签名工具这个概念之前,我先说说它不是什么: 1.它不是用于给程序集加密的工具,它与阻止Reflector或ILSpy对程序集进行反编译一毛钱关系都没有. 2.它很讨厌人们把它和加密联系在一起. 我 ...
- JQUERY几个操作action,随意记录
.click:鼠标单击 .mouseenter 鼠标滑动
- 巨蟒python全栈开发linux之cento9
1.docker入门学习 查看机器中已经启动的所有的进程. ps -ef 2.docker常用命令学习 3.docker学习3 4.dockerfile与镜像 5.docker私有仓库 6.rabbi ...
- git commit -a -m "M 1、引入mixin,公共样式mixin传参处理;";git push origin master:master
<script> import wepy from 'wepy' import api from '../api/api' export default class recharge ex ...
- DRDS和RDS主要用来存储用户交易信息,MongoDB主要用来存储商品维度信息
数据集成Data Integration-数加-大数据-阿里云 https://www.aliyun.com/product/cdp 数据集成支持的数据源 数据源类型 数据源 来源数据源被读取 目标数 ...
- 判断SQL数据库中函数、存储过程等是否存在的方法
下面为您介绍sql下用了判断各种资源是否存在的代码,需要的朋友可以参考下,希望对您学习sql的函数及数据库能够有所帮助.库是否存在if exists(select * from master..sys ...
- 常用代码块:创建httpclient
HttpGet httpGet = new HttpGet(url); SSLContext sslcontext = SSLContexts.custom() .loadTrustMaterial( ...
- linux环回文件
我们通常在设备上(比如磁盘分区)上创建文件系统,这些存储设备能够以设备文件的形式来使用,如/dev/device_name.为了使用存储设备上的文件系统,我们将其挂载到挂载点. 环回文件系统是指那些在 ...
- 剑指offer 面试8题
面试8题: 题目:二叉树的下一个节点 题目描述:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. 解题思路:详见剑 ...
- iframe 跨域请求
iframe.contentWindow 兼容各个浏览器,可取得子窗口的 window 对象. iframe.contentDocument Firefox 支持,> ie8 的ie支持.可取得 ...