python 切片

1.python可切片对象的索引方式:正、负索引两部分。

如下图所示,以 a = [0,1,2,3,4,5,6,7,8,9] 为例:

正索引 0 1 2 3 4 5 6 7 8 9
负索引 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
0 1 2 3 4 5 6 7 8 9

(0为起点,9为中点)

2.Python切片操作的一般方式

一个完整的切片表达式包含两个“:”,用于分隔三个参数(start_index、end_index、step),当只有一个“:”时,默认第三个参数step=1。

切片操作基本表达式:object[start_index : end_index : step]

3.例子:

 >>> a = [0,1,2,3,4,5,6,7,8,9]

取单个值:

 >>> a[0]0>>> a[-4]6

切片也可以取负数,例如:a[2] = a [-8] = 2

 >>> a[2]2>>> a[-8]2

切片切的顺序默认是从左到右的,如果step(步长)为负数则会从右往左读取,
切片的开始和结束(strat_index——end_index)和步长(step)是一致的否则会运行会得到空集例如:

 >>> a[2:4:-1][]>>> a[-2:2][]

同时切片也可以对字符串进行切割:

 >>> a = 'hello'>>> a[1:]'ello'a[-1::1]'olleh'

也可以进行连续切片:

 >>> a[:8][2:5][-1:][4]

4、总结

1.start_index、end_index、step可同为正、同为负,也可正负混合使用。但必须遵循一个原则,即两者的取值顺序必须是相同的,否则无法正确切取到数据:当start_index的位置在end_index的左边时,表示从左往右取值,此时step必须是正数(同样表示从左往右);当start_index的位置在end_index的右边时,表示从右往左取值,此时step必须是负数(同样表示从右往左)。

2.在利用切片时,step的正负是必须要考虑的,尤其是当step省略时

py.切片(slice)相关推荐

  1. 切片slice(python)

    切片slice 作用:从容器中取出相应的元素重新组成一个容器. 语法:容器[(开始索引):(结束索引)(:(步长))] 小括号()括起的部分代表可省略 说明: 结束索引不包含该位置元素 步长是切片每次 ...

  2. 位置2的索引超出数组范围不能超过10_golang学习笔记--切片slice 与数组 arr

    因为我是写php的,刚开始写go的时候老是被数组坑.因为在go中的数组是固定长度,所以会存在越界的时候.而在go中也很少直接使用数组.更多的时候会使用slice(切片). 数组 数组是一个由固定长度的 ...

  3. 切片 go 去除第一个_golang学习笔记--切片slice 与数组 arr

    因为我是写php的,刚开始写go的时候老是被数组坑.因为在go中的数组是固定长度,所以会存在越界的时候.而在go中也很少直接使用数组.更多的时候会使用slice(切片). 数组 数组是一个由固定长度的 ...

  4. 【Go】Go 语言切片(Slice)

    文章目录 一.切片 二.声明切片 方法1 方法2 总结:创建切片的各种方式 三.切片初始化 1. 声明的同时初始化 2. 用数组初始化切片 3. 切片的内存布局: 读写操作实际目标是底层数组,只需注意 ...

  5. Go开发 之 容器(数组Array、切片slice、映射map、列表list)

    文章目录 0.唠唠叨叨 1.数组-Array 1.1.什么是数组 1.1.1.数组的声明 1.1.2.比较两个数组是否相等 1.1.3.示例 1.1.3.1.通过索引下标访问元素 1.1.3.2.数组 ...

  6. 在pythonnumpy中切片(slice)

    转载自:博客 在python&numpy中切片(slice) 上文说到了,词频的统计在数据挖掘中使用的频率很高,而切片的操作同样是如此.在从文本文件或数据库中读取数据后,需要对数据进行预处理的 ...

  7. 字符串切片slice操作(字符串)

    切片slice操作可以让我们快速的提取子字符串,标准格式为: [起始偏移量start:终止偏移量end:步长step] 典型操作: 操作和说明 示例 结果 [:] 提取整个字符串 "abcd ...

  8. Golang 入门 : 切片(slice)

    切片(slice)是 Golang 中一种比较特殊的数据结构,这种数据结构更便于使用和管理数据集合.切片是围绕动态数组的概念构建的,可以按需自动增长和缩小.切片的动态增长是通过内置函数 append( ...

  9. Golang如何遍历切片slice

    前言 这两天用golang开发一个把企业微信的打卡记录同步到HR-OA系统的一个中间表的功能,同步时把从企业微信接口里查询到的打卡记录放到一个对象的切片里,然后遍历切片把每条打卡记录写到中间表,这里涉 ...

最新文章

  1. pandas读取字典(dict)数据
  2. 我们也铺好了新赛道啦!!!
  3. ifconfig详解及设置静态IP的方法
  4. Python 基本数据类型 (一) - 整数
  5. ACM-数论 —— 一.整除的性质
  6. java的隐藏函数_java – 隐藏子级数据成员的父成员函数
  7. java文件按时间排序_如何按日期在java目录中排序文件?
  8. 利用C++语法进行特殊类设计
  9. python运行脚本文件的3种方法
  10. python 爬虫 中乱码问题0xb5 和b'\x1f\x8b\x08
  11. git clone报错warning:Clone succeeded,but checkout failed
  12. QQ被盗的自救、事故分析
  13. 【毕业设计】基于STM32及OpenMV的云台追踪装置
  14. 『这辈子就相爱《何苦要等下辈子》 李草青青、肖玄MV』
  15. windows搭建RN环境
  16. 汉庭酒店专属歌曲发布,由左小祖咒和罗永浩创作
  17. 四种xml的解析方式
  18. INSERT DESC UPDATE SELECT
  19. 土地利用规划之平时作业一
  20. 《最优状态估计-卡尔曼,H∞及非线性滤波》:第10章 有关卡尔曼滤波的其他讨论

热门文章

  1. {“errcode“:48001,“errmsg“:“api unauthorized}
  2. jQuery基础(二)
  3. Logstash报错:[ERROR][logstash.agent ] Failed to execute action {...
  4. MySQL数据表插入数据及增加语句
  5. 文件运行出现乱码问题的解决方法
  6. Finding Your Better Half
  7. 第二关,KPM算法和next函数值
  8. 解决关于在安装Linux后Grub中没有原先Windows引导的问题
  9. XShell SecueCTR工具远程安装激活 连接使用
  10. 人工智能会话代理在医疗保健中的有效性:系统综述