切片

  • 通过索引区间访问线性结构的一段数据
  • 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. 使用fastjson统一序列化响应格式

    摘要:其实很简单的处理方式,只不够优雅,或者说没有找到fastjson为其提供便捷的处理方式.因此记录下处理该问题的过程. 目标:将所有api请求,即响应为APPLICATION_JSON的内容做统一 ...

  2. Java字节码常量池深度剖析与字节码整体结构分解

    常量池深度剖析: 在上一次[https://www.cnblogs.com/webor2006/p/9416831.html]中已经将常量池分析到了2/3了,接着把剩下的分析完,先回顾一下我们编译的源 ...

  3. c++对象模型和RTTI(runtime type information)

    在前面已经探讨过了虚继承对类的大小的影响,这次来加上虚函数和虚继承对类的大小的影响. 先来回顾一下之前例子的代码: #include <iostream> using namespace ...

  4. mysql数据库高并发处理

    总体思想:短, 少, 分流 短: 1.页面静态化, 2.使用缓存 3.使用存储过程, 对于处理一次请求需要多次访问数据库的操作, 将操作整合到存储过程, 这样只需要一次数据库访问 4.延迟修改, 将修 ...

  5. Oracle-锁的查询和处理

    1.查出锁定object的session的信息以及被锁定的object名 SELECT L.SESSION_ID SID, S.SERIAL#, L.LOCKED_MODE, L.ORACLE_USE ...

  6. 怎么在vscode里搜索函数

    怎么在vscode里搜索函数?在vsCode编辑器中如何跨文件查找函数的定义? 问题: 比如: 在 a.js中使用 var res = window.unique(arr); 在未知的js文件定义了u ...

  7. 谷歌浏览器(Google Chrome)开发调试详细介绍

    很多Web前台开发者都喜欢这种浏览器自带的开发者工具,这对前台设计.代码调试很大帮助的. Chrome浏览器得益于其优秀的V8解释器,javascript执行速度和内存占有率表现非常优秀.对于html ...

  8. ACM-ICPC 2018 沈阳赛区现场赛 E. The Kouga Ninja Scrolls (切比雪夫距离+线段树)

    题目链接: 题意:在二维平面上有 n 个人,每个人有一个位置(xi, yi)和门派 ci,m 个操作:①改变第 k 个人的位置:②改变第 k 个人的门派:③询问区间[l,r]之间不同门派的两个人的最大 ...

  9. .pid文件

    pid文件为进程文件,默认的在每个/var/run/目录下生成,当使用systemctl进行进程启动的时候,在这个目录下就会生成相应的pid文件,今天在进行poc测试的时候,对进程执行了enable操 ...

  10. 二十九、SELinux简介

    一.基础 1)访问模型 Linux原有访问模型:自主访问控制 DAC 安全隐患: 进程所能访问资源的范围 为用户所能访问的资源范围 后门: rootkit程序 进程被胁持: 基于进程作为跳板,就有了进 ...