【python原理解析】python中分片的实现原理及使用技巧
2018-01-11 16:50
633 查看
首先:说明什么是序列?
序列中的每一个元素都会被分配一个序号,即元素的位置,也称为索引;在python中的序列包含:字符串、列表和元组
然后是:什么是分片?
分片就是通过操作索引访问及获得序列的一个或多个元素,也叫作切片。
如果序列中有N个元素,索引的范围,正序是:0到N-1,逆序是:-N到-1
分片的操作一般需要三个参数,例如获取a的第一个元素到第三个元素,则应该为:a[0,3,1]
其中0代表第一个元素的索引,3代表第三个元素的索引的后面的值,1代表递增数,也就是从0开始每一次加1来获取下一个元素,这个也可以通过for循环来实现
目前看到的对于分片来说,很明显的一个例子就是:分片可以实现逆序,通过下方的代码:
def f1():
list1 = [1,2,3,4,5]
list2 = list1[4::-1]
print list1
print list2
结果是:
递增数为2的代码如下:
def f2():
list1 = [1,2,3,4,5,6,7,8]
list2 = list1[2:7:2]
print list1
print list2
结果是:
按照负数索引值获取内容的代码如下:
def f3():
list1 = [1,2,3,4,5,6,7,8]
list2 = list1[-8:-3:1]
print list1
print list2
结果是:
在字符串中使用分片的情况如下:
def f4():
str1 = "good idea!"
str2 = str1[1:6:2]
print str1
print str2
结果是:
以上是关于get_slice的记录,下面是set_slice的记录:
def f5():
list1 = [1,2]
list1[1:4] = [11,3,4]
print "替换部分元素,并增加部分元素后:", list1
list2 = [1,2,3,4,5]
list2[2:4] = []
print "置空某些元素:", list2
list3 = [1,2,3,4]
list3[1:7] = [111]
print "右索引大于总长度,且右边的列表比左边的索引差值小:", list3
list4 = [1,2,3,4]
list4[2:3] = [5,6,7,8,9,10]
print "右边列表比左边的索引差值大:",list4
结果是:
序列中的每一个元素都会被分配一个序号,即元素的位置,也称为索引;在python中的序列包含:字符串、列表和元组
然后是:什么是分片?
分片就是通过操作索引访问及获得序列的一个或多个元素,也叫作切片。
如果序列中有N个元素,索引的范围,正序是:0到N-1,逆序是:-N到-1
分片的操作一般需要三个参数,例如获取a的第一个元素到第三个元素,则应该为:a[0,3,1]
其中0代表第一个元素的索引,3代表第三个元素的索引的后面的值,1代表递增数,也就是从0开始每一次加1来获取下一个元素,这个也可以通过for循环来实现
目前看到的对于分片来说,很明显的一个例子就是:分片可以实现逆序,通过下方的代码:
def f1():
list1 = [1,2,3,4,5]
list2 = list1[4::-1]
print list1
print list2
结果是:
递增数为2的代码如下:
def f2():
list1 = [1,2,3,4,5,6,7,8]
list2 = list1[2:7:2]
print list1
print list2
结果是:
按照负数索引值获取内容的代码如下:
def f3():
list1 = [1,2,3,4,5,6,7,8]
list2 = list1[-8:-3:1]
print list1
print list2
结果是:
在字符串中使用分片的情况如下:
def f4():
str1 = "good idea!"
str2 = str1[1:6:2]
print str1
print str2
结果是:
以上是关于get_slice的记录,下面是set_slice的记录:
def f5():
list1 = [1,2]
list1[1:4] = [11,3,4]
print "替换部分元素,并增加部分元素后:", list1
list2 = [1,2,3,4,5]
list2[2:4] = []
print "置空某些元素:", list2
list3 = [1,2,3,4]
list3[1:7] = [111]
print "右索引大于总长度,且右边的列表比左边的索引差值小:", list3
list4 = [1,2,3,4]
list4[2:3] = [5,6,7,8,9,10]
print "右边列表比左边的索引差值大:",list4
结果是:
相关文章推荐
- 使用C++实现一套简单的状态机模型——原理解析
- Python greenlet使用介绍及实现原理
- Python黑魔法@property装饰器的使用技巧解析
- 使用 Python 模块 re 实现解析小工具
- Atitit.sql ast 表达式 语法树 语法 解析原理与实现 java php c#.net js python
- Python greenlet实现原理和使用示例
- [ReactNative]淘宝首页app实现原理,listView使用技巧
- 使用 Python 模块 re 实现解析小工具
- OkHttp3使用解析:实现下载进度的监听及其原理简析
- 使用由 Python 编写的 lxml 实现高性能 XML 解析
- 使用Python实现windows下的抓包与解析
- 使用 Python 模块 re 实现解析小工具
- LDA主题模型原理解析与python实现
- 神经网络中 BP 算法的原理与 PYTHON 实现源码解析
- Atitit.sql ast 表达式 语法树 语法 解析原理与实现 java php c#.net js python
- 使用 Python 模块 re 实现解析小工具
- 使用 Python 模块 re 实现解析小工具
- 使用python解析excel实现工作效率统计
- 建议13:使用Python模块re实现解析小工具