切片操作首先支持下标索引,通过[ N:M :P ]操作

索引正向从0开始,逆向从-1开始
N:切片开始位置
M:切片结束位置(不包含)
P:指定切片步长,为正数表示按照指定步长正向切片,为负数反之
一、列表的切片操作
列表切片后还是列表
通过列表生成器定义一个列表:

In [2]: a = [n for n in range(10)]
In [3]: a
Out[3]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

通过切片浅拷贝对象:

In [4]: a[:]
Out[4]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In [5]: a[::]
Out[5]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

指定开始切片位置:

In [6]: a[1:]
Out[6]: [1, 2, 3, 4, 5, 6, 7, 8, 9]
In [7]: a[1::]
Out[7]: [1, 2, 3, 4, 5, 6, 7, 8, 9]

指定切片范围(不包含结束):

In [8]: a[1:5]
Out[8]: [1, 2, 3, 4]
In [9]: a[2:6:]
Out[9]: [2, 3, 4, 5]

指定步长切片:

In [10]: a[0:9:3]
Out[10]: [0, 3, 6]
In [11]: a[0:9:2]
Out[11]: [0, 2, 4, 6, 8]

指定步长方向:

In [12]: a[9:0:-2]
Out[12]: [9, 7, 5, 3, 1]
In [13]: a[9:0:-3]
Out[13]: [9, 6, 3]

通过切片逆置列表:

In [15]: a[::-1]
Out[15]: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

二、元组切片
元组切片后还是元组,用法和列表切片一样,但是一点需要注意

In [17]: b = (n for n in range(5))
In [18]: b
Out[18]: <generator object <genexpr> at 0x00000206445ED780>
# 推到式通过小括号()以后就不是元组了,是生成器的另一种形式In [19]: b = tuple(n for n in range(5))
In [20]: b
Out[20]: (0, 1, 2, 3, 4)
In [21]: b[::-1]
Out[21]: (4, 3, 2, 1, 0)
In [22]: b[0:2:]
Out[22]: (0, 1)

三、字符串切片
字符串切片之后还是字符串,用法也和列表切片一致

In [23]: c = "hello,world"
In [24]: c[::-1]
Out[24]: 'dlrow,olleh'
In [25]: c[0:5:]
Out[25]: 'hello'

转载于:https://blog.51cto.com/10412806/2286322

Python高级特性之---切片操作相关推荐

  1. Python高级特性:切片、迭代、列表生成式、生成器与迭代器

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 接着廖雪峰老师的学习教程,小编要开始加快推进Python的学习进程 ...

  2. 【Python基础】Python高级特性:切片、迭代、列表生成式、生成器与迭代器

    接着廖雪峰老师的学习教程,小编要开始加快推进Python的学习进程了.今天的笔记内容是Python高级特性,其中包括快速访问对象类型元素的切片.循环中的迭代意义.方便的列表生成式操作以及生成器和迭代器 ...

  3. Python高级特性:切片

    切片的目的是实现取一个list或tuple的部分元素 学习自廖雪峰,个人理解如下: 取列表L的前三个元素 >>> L = ['Michael', 'Sarah', 'Tracy', ...

  4. Python高级特性——切片(Slice)

    Python高级特性--切片(Slice) 摘录廖雪峰网站 定义一个list: L = ['haha','xixi','hehe','heihei','gaga'] 取其前三个元素: >> ...

  5. python的高级特性:切片,迭代,列表生成式,生成器,迭代器

    python的高级特性:切片,迭代,列表生成式,生成器,迭代器 1 #演示切片 2 k="abcdefghijklmnopqrstuvwxyz" 3 #取前5个元素 4 k[0:5 ...

  6. Python学习笔记(五) Python高级特性

    Python高级特性 一. 切片 python中提供了切片(Slice)操作符 , 可以方便的获取list或tuple中的某一段元素 . # -*- coding : utf-8 -*- #Pytho ...

  7. 深入详解python高级特性——函数柯里化(Currying)与反柯里化

    前言:本章的内容本来很简单,但是涉及到的理论部分相对较多,想要彻底弄懂前因后果需要具备以下几个知识点, (1)python的高阶函数 (2)python的装饰器本质 (3)Python的functoo ...

  8. Python高级特性——迭代(Iteration)

    Python高级特性--迭代(Iteration) 1.给定一个集合list或者tuple,可以通过for -- in --的语法来实现循环遍历,这个循环我们就叫做迭代 迭代list: >> ...

  9. 【廖雪峰python总结】python高级特性,函数式编程,面向对象编程,面向对象高级编程

    文章目录 python复习总结 python高级特性 函数式编程 面向对象编程 面向对象高级编程 python复习总结 python高级特性 python高级特性 函数式编程 函数式编程 函数式编程的 ...

  10. Python高级特性

    我一直认为Python是一门很神奇的语言.神奇之处在于其既可阳春白雪,亦可下里巴人.也就是其简单到几乎所有的人稍加学习即可上手,但是你如果细细品味,就会发现他还有很多高深的东西.正如一位漂亮的姑娘,一 ...

最新文章

  1. 福利 | 一文读懂系列文章精选集发布啦!
  2. FD.io/VPP — DNS Plugin
  3. EBS R12.2 ADOP (R12.2 AD Online Patching) - 5
  4. CF17E:Palisection——题解
  5. PHP实例——获取文件的绝对路径
  6. 一步步在Docker里运行Web应用
  7. cmd imp导入dmp文件_这是一篇长篇入门级数据库讲解:oracle数据库数据导入导出步骤...
  8. KeyShot 10最新版发布 支持big sur KeyShot 10 Pro for Mac新功能
  9. 人与人之间关系的随想
  10. 设计模式的七大设计原则:其六:迪米特法则
  11. HTTP协议工作原理(与HTTPS的区别)
  12. 性能优化之页面缓存(以Javascript方式缓存页面部件)
  13. 做了n年程序猿,才知道电脑是这样工作的
  14. NS2中认知无线电仿真
  15. 山东理工大学2021年下半年实验室安全考试
  16. 计算机画图简笔画竹子,竹子简笔画图片教程
  17. otl连接mysql数据库_C++类库:OTL连接MySQL ODBC数据库(insert, update, select)
  18. LeCo-238. 除自身以外数组的乘积
  19. Linux驱动开发-编写(EEPROM)AT24C02驱动
  20. DameWare各种版本激活码-备份

热门文章

  1. Atitit 命令指令的分类与权限 IMAP协议为例子 目录 1. 指令的作用的权限吧。 全局命令 未认证状态命令 未认证状态命令 选中状态指令 2 1.1. 1.在任何状态下都有效的指令(全局命
  2. Atitit famous paint著名绘画 油画 作品数据库资料
  3. Atitit.收银机小票打印功能的设计  java php c#.net版本
  4. paip.自适应网页设计 跟 响应式 设计的区别跟原理and实践总结
  5. paip.提升用户体验---c++ ide 自动化注释插件的开发...
  6. paip.路由器拨号上网密码找回.txt
  7. Rust: 如何读写中文字符?
  8. 星环TDH助力南方基金数据中心迈入大数据时代
  9. 贝索斯:为什么我们要选择更难的事情去做? |【经纬低调分享】
  10. (转)孙正义:数字资产会成为人类最大的资产