首先:说明什么是序列?

序列中的每一个元素都会被分配一个序号,即元素的位置,也称为索引;在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原理解析】python中分片的实现原理及使用技巧的更多相关文章

  1. Request 接收参数乱码原理解析二:浏览器端编码原理

    上一篇<Request 接收参数乱码原理解析一:服务器端解码原理>,分析了服务器端解码的过程,那么浏览器是根据什么编码的呢? 1. 浏览器解码 浏览器根据服务器页面响应Header中的“C ...

  2. python:解析js中常见的 不带引号的key的 json

    首先要明晰一点,json标准中,key是必须要带引号的,所以标准json模块解析不带引号的key的 json就会抛错 不过有一些lib可以帮我们解析 如:demjson(链接) >>> ...

  3. 【Python】解析Python中的条件语句和循环语句

    1.if语句 if语句有好几种格式,比如: if condition: statement 使用 if ... else ...: if condition: statement(1) else: s ...

  4. 【Python】 解析Python中的运算符

    Python中的运算符相比较于传统的C/C++差别不是很大,主要是一些个别的运算符上的差别.包括:算术.比较.赋值.位.逻辑.成员.身份等.它们的优先级: 符号 说明 ** 指数(最高优先级) ~,+ ...

  5. 【Python】解析Python中的线程与进程

    基础知识 线程 进程 两者的区别 线程的类型 Python 多线程 GIL 创建多线程 线程合并 线程同步与互斥锁 可重入锁(递归锁) 守护线程 定时器 Python 多进程 创建多进程 多进程通信 ...

  6. 【Python】解析Python中的异常操作

    目录结构: contents structure [-] try,except,else,finally块 异常处理 使用except而不带任何异常类型 使用except而带多种异常类型 try-fi ...

  7. 【Python】解析Python中的文件操作

    目录结构: contents structure [-] 简介 Python中的文件类型 内置函数的文件操作 open()函数 Mode 创建文本文件 读取文本文件 循环文件对象 关闭文件 With语 ...

  8. 【Python】解析Python中的装饰器

    python中的函数也是对象,函数可以被当作变量传递. 装饰器在python中功能非常强大,装饰器允许对原有函数行为进行扩展,而不用硬编码的方式,它提供了一种面向切面的访问方式. 装饰器 一个普通的装 ...

  9. 【Python】解析Python中的迭代器

    目录结构: contents structure [-] Iterator VS Iterable Itertools 模块 生成器(Generator) 在开始文章之前,先贴上一张Iterable. ...

随机推荐

  1. 使用miniconda创建python虚拟环境

    安装python指定环境 conda create -n oldboy python=3.6.5 安装环境的同时安装相应的包 conda create -n oldboy python=3.6.5 p ...

  2. PythonStudy——可变与不可变 Variable and immutable

    ls = [10, 20, 30] print(id(ls), ls) ls[0] = 100 print(id(ls), ls) print(id(10)) print(id(20)) print( ...

  3. CSS 社区的解决方案,对比

    在众多解决方案中,没有绝对的优劣.还是要结合自己的场景来决定. 我们团队在使用过 scss 和 css modules 后,仍然又重新选择了使用 scss.css modules 虽然有效解决了样式冲 ...

  4. Python手记(二)

    1.map函数 map函数用于将指定的数据成员都使用指定函数进行处理. 比如: map(float, arr) map(square, arr) 这两个函数分别将arr中成员转换为float类型,以及 ...

  5. C语言数组指针

    C语言中的数组指针与指针数组: ·数组指针一.区分 首先我们需要了解什么是数组指针以及什么是指针数组,如下: int *p[5];int (*p)[5];数组指针的意思即为通过指针引用数组,p先和*结 ...

  6. 读取 exe dll 自定义config 文件

    ExeConfigurationFileMap map = new ExeConfigurationFileMap(); map.ExeConfigFilename = GPARAM._configF ...

  7. SpringBoot Web开发(5) 开发页面国际化+登录拦截

    SpringBoot Web开发(5) 开发页面国际化+登录拦截 一.页面国际化 页面国际化目的:根据浏览器语言设置的信息对页面信息进行切换,或者用户点击链接自行对页面语言信息进行切换. **效果演示 ...

  8. [UE4]Native Widget Host

    一.Native Widget Host是一个容器,它可以包含一个Slate UI 二.Native Widget Host应该用在当你需要把一个Slate UI 放到UMG中的时候,只有这个时候才需 ...

  9. [编程小技巧]Notepad++中如何实现文本对比功能?

    1.打开Notepad++插件中心   2.安装Compare   3.按提示重启Notepad++     4.点击Compare比较临近的两个文件       5. 取消比较     6 Comp ...

  10. Oracle 学习笔记 (七)

    一.数据库的启动 启动数据库的三个阶段: nomount, mount,open mount 阶段:. 1.读参数文件 2.分配内存 3.启动后台进程 4.初始化部分v$视图 mount 阶段: 读参 ...