[PY3]——内置数据结构(9)——线性结构与切片/命名切片slice()
线性结构的总结
列表list 元组tuple 字符串str bytes bytearray的共同点:
- 都是顺序存储、顺序访问的;
- 都是可迭代对象;
- 都可以通过索引访问
线性结构的特征:
- 可迭代
- 可通过len获取长度
- 可以使用下标操作符通过索引访问
- 可以切片
补充三个函数:
- enumerate() 同时获取index和value
- next()获取一个迭代器的下一个值
- iter()把一个可迭代对象转化成一个迭代器
切片操作[start:stop]
# 注意:以下几条规则的优先级,是按照顺序依次排序的 In [12]: lst=list(range(10))
In [13]: lst
Out[13]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 访问lst的一段,从start开始到stop结束,但不包含stop
In [14]: lst[3:7]
Out[14]: [3, 4, 5, 6] # 当start省略时表示从头开始,当stop省略时表示直到末尾
In [15]: lst[:7]
Out[15]: [0, 1, 2, 3, 4, 5, 6] In [16]: lst[3:]
Out[16]: [3, 4, 5, 6, 7, 8, 9] In [17]: lst[:]
Out[17]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 支持负数索引,负数索引实际上可以转化为 len(lst)+index
In [18]: lst[-5:-3] //[10+(-5)=5,10+(-3)=7]
Out[18]: [5, 6] In [25]: lst[3:-1] //[3,10+(-1)=9]
Out[25]: [3, 4, 5, 6, 7, 8] # 当start>=stop时,返回空列表
In [21]: lst[100:] //100>-1
Out[21]: [] In [22]: lst[:-100] //0>10+(-100)
Out[22]: [] In [23]: lst[3:1] //3>1
Out[23]: [] In [24]: lst[3:3] //3=3
Out[24]: [] # 当start超出索引范围start=0,当stop超出索引范围stop=-0
In [19]: lst[-100:]
Out[19]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] In [20]: lst[-100:100]
Out[20]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[start:stop:step]
In [27]: lst[::2]
Out[27]: [0, 2, 4, 6, 8] In [28]: lst[::-2]
Out[28]: [9, 7, 5, 3, 1] In [30]: lst[::-1]
Out[30]: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] In [35]: lst[10:1:-2]
Out[35]: [9, 7, 5, 3] In [36]: lst[10:1:2]
Out[36]: []
命名切片slice( )
items=[0,1,2,3,4,5,6]
a=slice(2,4)
print(a.start,a.stop,a.step) #切片的start、stop、step三元组slice()中都可以指定
2 4 None
print(a)
slice(2, 4, None) #使用已命名的a,可以做什么?
print(items[a]) #等价于print(items[2:4])
[2, 3]
items[a]=[10,11];print(items)
[0, 1, 10, 11, 4, 5, 6]
del items[a];print(items)
[0, 1, 4, 5, 6]
[PY3]——内置数据结构(9)——线性结构与切片/命名切片slice()的更多相关文章
- [PY3]——内置数据结构(6)——集合及其常用操作
集合及其常用操作Xmind图 集合的定义 # set( ) # {0,1,2} //注意不能用空的大括号来定义集合 # set(可迭代对象) In [1]: s=set();type ...
- [PY3]——内置数据结构(8)——解构与封装
### 解构的理解与用法 ### 解构是python很有特色的一个功能,被很多语言借鉴(例如ES6) # 元素按照顺序赋值给变量 In [31]: lst=list(range(5)) In [32] ...
- [PY3]——内置数据结构(7)——字典及其常用操作
字典及其常用操作Xmind图 关于字典 字典是一种key-value结构 字典是无序的 字典的定义 # {}大括号可以直接定义一个空字典 In [1]: d={};type(d) Out[1]: di ...
- [PY3]——内置数据结构(1)——列表及其常用操作
列表及其常用操作_xmind图 about列表 列表是一个序列,用于顺序存储数据 列表分为两种:ArrayList(用数组实现).LinkedList(用链表实现) 定义与初始化 #l ...
- [PY3]——内置数据结构(5)——字符串编码
py2和py3中关于字符串的最大区别? python2中只有 unicode类型 而python3中有 string bytes两种类型 关于string和bytes的区分? 1.str是文本序列.b ...
- [PY3]——内置数据结构(2)——元组及其常用操作
定义和初始化 #tuple() 使用工厂函数tuple定义一个空元组 #() 使用圆括号定义一个空元组 #(1,2,3) 使用圆括号定义有初始值的元组 #tuple(可迭代对象) 把可迭代对象转换为一 ...
- [PY3]——内置数据结构(3)——字符串及其常用操作
字符串及其常用操作xmind图 字符串的定义 1. 单引号/双引号 In [1]: s1='hello world' In [2]: s1="hello world" 2. 三对单 ...
- [PY3]——内置数据结构(4)——字符串格式化(format)
字符串格式化是拼接字符串的一种手段 join和+拼接字符串的方法,难以控制格式 printf style 字符串格式化 这种方法是从c语言继承过来的 # 待格式化的字符串:一个字符串存在占位符 In ...
- 内置数据结构(list)
列表.元组.字符串.字典和集合是python内置的数据结构,也可以叫内置容器.前3个是线性结构,线性结构可以切片操作.解包和封包操作. dir()方法可以查看对象拥有哪些属性和方法. help()方法 ...
随机推荐
- makefile文件。批处理文件。
makefile文件: NAME=XXX #要编译的文件名 OBJS=$(NAME).obj #指定输出的目标文件名 ML_FLAG=/C /COF ...
- Lambda 表达式浅谈- 01
已经有一段时间没有发布博文了... 今天就写一写lambda的一些简单的使用方法 Lambda 在Msdn 上的描述: Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数. 通过使用 ...
- NPOI 设置excel 边框
https://blog.csdn.net/xxs77ch/article/details/50232343
- iOS 添加 Watch OS 1 应用后无法运行 An error was encountered while running (Domain = LaunchServicesError, Code = 0)
在 iOS 应用基础上我添加了一个 Watch OS 2 应用,运行良好.又加了一个 Watch OS 1 应用,然后就所有 Target 都不能运行了. 运行时说 An error was enco ...
- 【OCP-12c】2019年CUUG OCP 071考试题库(73题)
73.Which statement correctly grants a system privilege? A. GRANT CREATE VIEW ON table1 TO user1; B. ...
- video视频内容填充整个播放空间方法
关于video视频内容填充整个播放空间方法一般上传的视频都没法占满video,看起来很不美观,解决办法很简单video{ object-fit:fill;}
- 虚拟机搭建ftp环境
引用http://www.cnblogs.com/xiangxiaodong/archive/2013/12/23/3487028.html,学习. 本人是在windows8系统下,Oracle VM ...
- 现在就启用 HTTPS,免费的!
现在就启用 HTTPS,免费的! 现在,你应该能在访问https://konklone.com的时候,在地址栏里看到一个漂亮的小绿锁了,因为我把这个网站换成了HTTPS协议.一分钱没花就搞定了. 为什 ...
- Performs the analysis process on a text and return the tokens breakdown of the text
Analyzeedit Performs the analysis process on a text and return the tokens breakdown of the text. Can ...
- [总结帖]Web小白的基础恶补帖
1. jQuery实现按钮点击跳转网页 <script src="js/jquery/jQuery-2.2.0.min.js" type="text/javascr ...