python 内置数据结构 切片
切片
- 通过索引区间访问线性结构的一段数据
- 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 内置数据结构 切片的更多相关文章
- Python内置数据结构之列表list
1. Python的数据类型简介 数据结构是以某种方式(如通过编号)组合起来的数据元素(如数.字符乃至其他数据结构)集合.在Python中,最基本的数据结构为序列(sequence). Python内 ...
- Python内置数据结构--列表
本节内容: 列表 元组 字符串 集合 字典 本节先介绍列表. 一.列表 一种容器类型.列表可以包含任何种类的对象,比如说数字.子串.嵌套其他列表.嵌套元组. 任意对象的有序集合,通过索引访问其中的元素 ...
- Python内置数据结构之字符串str
1. 数据结构回顾 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于字符串,但是字符串是不可变序列,因此所有的元素赋值和切片赋值都是非法的. >>> ...
- Python内置数据结构之元组tuple
1. Python序列之元组:不可修改的序列 元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能像列表式的增删改,只能查,切片,所以元组又叫只读列表. 元组用圆括号括起(这是通常采用的做法) ...
- python内置数据结构方法的时间复杂度
转载自:http://www.orangecube.net/python-time-complexity 本文翻译自Python Wiki 本文基于GPL v2协议,转载请保留此协议. 本页面涵盖了P ...
- Python内置数据结构之字典dict
1. 字典 字典是Python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下.键可能是数(整数索引).字符串或元组.字典(日常生活中的字典和Python字典)旨在让你能够轻松地找到特定的单 ...
- python 内置数据结构 字符串
字符串 一个个字符组成的有序的序列,是字符的集合 使用单引号,双引号,三引号引住的字符序列 字符串是不可变对象 Python3起,字符串就是Unicode类型 字符串定义 初始化 s1 = 'stri ...
- python内置数据结构
数据类型: 数值型 int float complex bool 序列对象 字符串 str 列表 list 元组 tuple 键值对 集合 set 字典dict 数值型: int.float.comp ...
- Python第五章-内置数据结构05-集合
Python内置数据结构 五.集合(set) python 还提供了另外一种数据类型:set. set用于包含一组无序的不重复对象.所以set中的元素有点像dict的key.这是set与 list的最 ...
随机推荐
- [USACO07MAR]面对正确的方式Face The Right Way
题目概括 题目描述 Farmer John has arranged his N (1 ≤ N ≤ 5,000) cows in a row and many of them are facing f ...
- Java基础 FileInputStream/ FileOutputStream / 字节输入流 字节输出流实现文件的复制
FileInputStream/FileOutputStream的笔记: /**(FileInputStream/FileOutputStream四个步骤: ①声明②加载地址③read/write④c ...
- HTTP通过Get请求传递参数时特殊字符被转码的处理方式
有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了. 编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值.例如 ...
- vue param和query两种传参方式
1.传参方式 query传参方式 this.$router.push({ path: "/home", query: {code:"123"} }) param ...
- SpringBoot + MySQL + MyBatis 整合 Redis 实现缓存操作
本地安装 Redis Redis 安装:https://www.cnblogs.com/oukele/p/11373052.html 项目结构: SpringBootRedis 工程项目结构如下: ...
- Luogu P3690【模板】Link Cut Tree (LCT板题)
省选前刷道LCT板题(话说之前没做这道题-) CODE #include<bits/stdc++.h> using namespace std; inline void read(int ...
- activemq的配置与结合spring使用
其实无论在win下还是在linux下,都可以运行得很爽 下载安装包地址: http://www.apache.org/dyn/closer.cgi?path=/activemq/5.12.1/apac ...
- java 下拉控件 转自 http://www.cnblogs.com/lhb25/p/form-enhanced-with-javascript-three.html
表单元素让人爱恨交加.作为网页最重要的组成部分,表单几乎无处不在,从简单的邮件订阅.登陆注册到复杂的需要多页填写的信息提交功能,表单都让开发者花费了大量的时间和精力去处理,以期实现好用又漂亮的表单功能 ...
- P4149 [IOI2011]Race 点分治
思路: 点分治 提交:5次 题解: 刚开始用排序+双指针写的,但是调了一晚上,总是有两个点过不了,第二天发现原因是排序时的\(cmp\)函数写错了:如果对于路径长度相同的,我们从小往大按边数排序,当双 ...
- show([speed,[easing],[fn]])
show([speed,[easing],[fn]]) 概述 显示隐藏的匹配元素. 这个就是 'show( speed, [callback] )' 无动画的版本.如果选择的元素是可见的,这个方法将不 ...