切片

  • 通过索引区间访问线性结构的一段数据
  • sequence[start:stop] 表示返回[start,stop]区间的子序列
  • 支持负索引
  • start为0,可以省略
  • stop为末尾,可以省略
  • 超过上界(右边界),就取到末尾;超过下界(左边界),取到开头
  • start一定要早stop的左边
  • [:]表示从头到尾,全部元素被取出,等效copy()方法

切片举例:

print('www.magedu.com'[4:10])  #打印4到9的字符,执行结果magedu
print('www.magedu.com'[:10]) #打印前9个字符,执行结果www.magedu
print('www.magedu.com'[4:]) #打印第四个字符到最后,执行结果magedu.com
print('www.magedu.com'[:]) #打印所有字符,执行结果www.magedu.com
print('www.magedu.com'[:-1]) #打印从开始到倒数第二个字符(去尾的原理),执行结果www.magedu.co
print('www.magedu.com'[4:-4]) #打印第四个字符到-4的字符,执行结果magedu
print('www.magedu.com'[4:50]) #打印4个字符到50个,执行结果magedu.com
print(b'www.magedu.com'[-40:10]) #打印b类型的数据,执行结果b'www.magedu'
print(bytearray(b'www.magedu.com')[-4:10]) #打印bytearray类型数据,执行结果bytearray(b'')
print(tuple('www.magedu.com')[-10:10]) #打印-10到9的字符,并输出为元组 执行结果('m', 'a', 'g', 'e', 'd', 'u')
print(list('www.magedu.com')[-10:-4]) #打印-10到-4的字符,并输出为列表,执行结果['m', 'a', 'g', 'e', 'd', 'u']

切片步长:

  • [start:stop:step]
  • step步长,可以为正,负整数,默认是1
  • step要和start:stop同向,否则返回空序列
print('www.magedu.com'[4:10:2])  #打印4到10的字符,但步长为2  magedu的每隔2个打印mgd
print(list('www.magedu.com')[4:10:-2]) #索引要同向,执行结果是[]
print(tuple('www.magedu.com')[-10:-4:2]) #打印-10到-4的字符,但步长为2 magedu的每隔2个打印mgd 执行结果('m', 'g', 'd')
print(b'www.magedu.com'[-4:-10:2]) #执行结果是""
print(bytearray(b'www.magedu.com')[-4:-10:-2]) # -4 到 -10的字符,但步长为2 执行结果bytearray(b'.dg')

python 内置数据结构 切片的更多相关文章

  1. Python内置数据结构之列表list

    1. Python的数据类型简介 数据结构是以某种方式(如通过编号)组合起来的数据元素(如数.字符乃至其他数据结构)集合.在Python中,最基本的数据结构为序列(sequence). Python内 ...

  2. Python内置数据结构--列表

    本节内容: 列表 元组 字符串 集合 字典 本节先介绍列表. 一.列表 一种容器类型.列表可以包含任何种类的对象,比如说数字.子串.嵌套其他列表.嵌套元组. 任意对象的有序集合,通过索引访问其中的元素 ...

  3. Python内置数据结构之字符串str

    1. 数据结构回顾 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于字符串,但是字符串是不可变序列,因此所有的元素赋值和切片赋值都是非法的. >>> ...

  4. Python内置数据结构之元组tuple

    1. Python序列之元组:不可修改的序列 元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能像列表式的增删改,只能查,切片,所以元组又叫只读列表. 元组用圆括号括起(这是通常采用的做法) ...

  5. python内置数据结构方法的时间复杂度

    转载自:http://www.orangecube.net/python-time-complexity 本文翻译自Python Wiki 本文基于GPL v2协议,转载请保留此协议. 本页面涵盖了P ...

  6. Python内置数据结构之字典dict

    1. 字典 字典是Python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下.键可能是数(整数索引).字符串或元组.字典(日常生活中的字典和Python字典)旨在让你能够轻松地找到特定的单 ...

  7. python 内置数据结构 字符串

    字符串 一个个字符组成的有序的序列,是字符的集合 使用单引号,双引号,三引号引住的字符序列 字符串是不可变对象 Python3起,字符串就是Unicode类型 字符串定义 初始化 s1 = 'stri ...

  8. python内置数据结构

    数据类型: 数值型 int float complex bool 序列对象 字符串 str 列表 list 元组 tuple 键值对 集合 set 字典dict 数值型: int.float.comp ...

  9. Python第五章-内置数据结构05-集合

    Python内置数据结构 五.集合(set) python 还提供了另外一种数据类型:set. set用于包含一组无序的不重复对象.所以set中的元素有点像dict的key.这是set与 list的最 ...

随机推荐

  1. Java&Selenium根据实参启动相应浏览器

    Java&Selenium根据实参启动相应浏览器 /** * 定义函数initBrowser * @param browser:字符串参数chrome/ie/xx * @return 并返回驱 ...

  2. 大数据之路week04--day05(java XML解析)

    java解析XML的四种方式: XML是一种通用的数据交换格式,它的平台无关性.语言无关性.系统无关性.给数据集成与交互带来了极大的方便.XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不 ...

  3. 大数据之路week02 List集合的子类

    1:List集合的子类(掌握) (1)List的子类特点 ArrayList: 底层数据结构是数组,查询快,增删慢. 线程不安全,效率高. Vector: 底层数据结构是数组,查询快,增删慢. 线程安 ...

  4. 通过德鲁伊druid给系统增加监控

    系统在线上运行了一段时间后,比如一年半载的,我们发现系统可能存在某些问题,比如执行系统变慢了,比如某些spring的bean无法监控各种调用情况. 触发到db的各种执行情况,这个时候,我们就需要一个工 ...

  5. Turbo编码

    在做项目时,观察到师兄代码中的Turbo编码过程,不是很理解,把实现过程分享出来,原理则参考引用链接: 以512长原始数据为例,按照LTE标准的1/3码率对其编码,编码后的数据为(1548,512), ...

  6. 1628:X-factor Chain

    1628:X-factor Chain 时间限制: 1000 ms         内存限制: 524288 KB提交数: 122     通过数: 68 [题目描述] 原题来自 POJ 3421 输 ...

  7. 内存管理2-@class关键字

    Review: 给对象发送消息,进行相应的计数器操作. Retain消息:使计数器+1,改方法返回对象本身 Release消息:使计数器-1(并不代表释放对象) retainCount消息:获得对象当 ...

  8. Ubuntu 14.04 更换为阿里云源

    #备份sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak#编辑sudo vim /etc/apt/sources.list,清空后,加入以下 ...

  9. 爬虫之解析库BeautifulSoup

    介绍 Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等 ...

  10. JAVA基础知识|TCP/IP协议

    虽然写代码也有一定的年头了,但是对于一些基础概念,还是很模糊.这在后来的学习过程中,带来了很大的痛苦,所以痛定思痛,决心重新学习这些概念.并把自己的理解和查询的资料做一些整合,便于以后查阅! 一.什么 ...