总结:
1,对切片赋值,相当于替代原list中的切片部分,赋值的list不必与切片长度一致,也可以将切片赋值给新的变量,用以取原list中的一部分;
2,list中的元素在切片中可以用正数索引或负数索引表示,正向索引为0,1,2……,第一个元素索引为0;负向索引-1,-2,-3,……最后一个元素索引-1;
3,可以指定间隔进行切片。

局限:
只能对连续段或固定间隔的元素进行切片,无法对多段元素进行提取。我会在后面的博客中探讨对列中更复杂的切割合并问题。

切片Slicing是python非常有用的一个功能,用运算符:实现,这个运算符很强大,有时候也有一点复杂,我简单梳理一下作为入门者的一些参考。

当你需要一个序列的子串的时候,你就可以使用切片操作。例如:

a = ['a','b','c','d','e','f','g']

在a这个序列中,如果你想截取里面['c','d','e']这个子序列,那么你就可以使用切片a[2:5]
它的语法形式是a[start:end],这里有一个区间边沿取值的问题。首先你要明确序列的索引是从0开始的,a[2:5]取值的范围是[2,5),前面是闭区间,后面是开区间,也就是2<=索引值<5这段区间里的元素。所以如果这样来切的话:a[1:1],得到的就是[],空序列。

索引也可以为负,从后往前依次是-1,-2,-3,……

nums = range(5)    # 建立一个从0-5的list
print nums         # 打印出 "[0, 1, 2, 3, 4]"
print nums[2:4]    # 得到索引从2(包括)到4(不包括)的切片; 打印 "[2, 3]"
print nums[2:]     # 得到索引从2(包括)以后的切片;打印 "[2, 3, 4]"
print nums[:2]     # 得到索引从开始到2(不包括)的切片;打印 "[0, 1]"
print nums[:]      # 得到所有元素的切片,相当于啥也没做; 打印["0, 1, 2, 3, 4]"
print nums[:-1]    # 索引可以为负,这里得到从开始到索引为-1(最后一个元素,不包括); 打印["0, 1, 2, 3]"
nums[2:4] = [8, 9] # 对索引从2(包括)到4(不包括)的元素赋值,可以理解为用等号右边的替代切片
print nums         # Prints "[0, 1, 8, 9, 4]"

对切片赋值长度不等于切片长度时,依然可以复制,切片部分被赋值部分完全替代。

>>> a = ['a','b','c','d','e','f','g']
>>> a[2:5] = ['1','2']
>>> print a
['a', 'b', '1', '2', 'f', 'g']
>>> a = ['a','b','c','d','e','f','g']
>>> a[2:5] = ['1','2','3','4']
>>> print a
['a', 'b', '1', '2', '3', '4', 'f', 'g']

不仅能通过赋值改变原list的元素和长度,还可以将原list的切片赋值给新的list:

>>>a = ['a','b','c','d','e','f','g']
>>>b = a[2:7]
>>>print b
['c', 'd', 'e', 'f', 'g']

指定间隔提取切片,下面以间隔3为例,即在切片范围内每3个元素取一个:

>>>a = ['a','b','c','d','e','f','g','h','i','j','k']
>>>b = a[2:9:3]
>>>print b
['c', 'f', 'i']

索引为负数时,可以产生相同的结果:

>>>a = ['a','b','c','d','e','f','g','h','i','j','k']
>>>b = a[-9:-2:3]
>>>print b







												

Python中切片(Slicing)的运用(:运算符)相关推荐

  1. Python中的注释和算数运算符

    Python中的注释和算数运算符 文章目录 Python中的注释和算数运算符 一.注释 01. 注释的作用 02. 单行注释(行注释) 在代码后面增加的单行注释 03. 多行注释(块注释) 什么时候需 ...

  2. 说说Python中切片是什么?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

  3. Python中切片详细讲解

    1.Python中切片的索引方式分为两种: 正索引 负索引 2.切片操作的表达方式 object[start_index:end_index:step] step:可以表示切片的步长,当为1时表示顺序 ...

  4. python中的数据类型和常用运算符

    一. python中常见的数据类型 整数:任何时候运算都是精确的 浮点数:运算的时候,可能会有四舍五入 字符串:字符串是以单引号'或双引号"括起来的任意文本 同类型的可以用+号 或者 , 号 ...

  5. python中计算整商的运算符_Python 运算符中用来计算整商的是( ). (2.0分)_学小易找答案...

    [判断题]函数的名称可以随意命名.( ) (2.0分) [判断题]python中的代码块使用缩进来表示. (2.0分) [单选题]下列选择中,符合python命名规范的标识符是( ). (2.0分) ...

  6. python中切片操作_Python中14个切片操作,你常用哪几个?

    切片(Slice)是一个取部分元素的操作,是Python中特有的功能.它可以操作list.tuple.字符串. Python的切片非常灵活,一行代码就可以实现很多行循环才能完成的操作.切片操作的三个参 ...

  7. python中切片是指什么_Python *中的默认切片索引是什么*?

    Slice indices have useful defaults; an omitted first index defaults to zero, an omitted second index ...

  8. 如何在python中创建列表副本,在Python中切片列表而不生成副本

    I have the following problem. Given a list of integers L, I need to generate all of the sublists L[k ...

  9. 2!=5 or 0在python中是否正确-python中的or,and运算符

    and 和 or 的用法 and 和 or 是python的两个逻辑运算符,可以使用and和or进行多个条件内容的判断. and是当and连接的所有的表达式的值为真时,才为真 or是当or连接的所有表 ...

  10. 警惕python中的*重复符(运算符)

    在python中有个特殊的符号"*",可以用做数值运算的乘法算子,也是用作对象的重复算子,但在作为重复算子使用时一定要注意 注意的是:*重复出来的各对象具有同一个id,也就是指向在 ...

最新文章

  1. 深度学习中的最大似然估计简介
  2. 搜索引擎-倒排索引基础知识
  3. 词云_jieba分词
  4. oracle怎么授权外地连接,Oracle异地RAC 简单介绍(Extended Distance Clusters)
  5. 前端学习(696):双重for循环
  6. redis发布与订阅
  7. XamlReader 动态加载XAML
  8. 绘图QPainter-字体
  9. Java定时器cron表达式
  10. 背包问题1:【SSL】1059.01背包问题——2021-03-10更
  11. 【Windows远程桌面】RDP Wrapper 监听器状态为 Not listening [not supported] 的解决方法
  12. HOG+ADABOOST方式训练头肩检测模型
  13. php代码加nofollow,给WordPress友情链接添加Nofollow方法详解
  14. Android MVP伴侣,Nucleus框架使用简介
  15. Sql Server中的用户名和登录名
  16. DELLR740带外镜像安装系统
  17. 机械键盘按键失灵解决办法(亲测有效,不用换不用拆,5分钟搞定)
  18. 前端 几个好看的button
  19. 基于stm32f4的按键检测
  20. AcWing 204. 表达整数的奇怪方式

热门文章

  1. win10的计算机 桌面图标不见了怎么办,教你win10桌面我的电脑图标不见了怎么办...
  2. 文献分享:定义的肿瘤抗原特异性T细胞增强了个性化的TCR-T细胞治疗和免疫治疗反应的预测
  3. 破解docx文档保护密码
  4. 清华天才王垠和阿里 P10 面试官赵海平神仙打架后,我们来说说技术面试中的该与不该!...
  5. SAM-BA 2.14 reconfiguration----DIY你的sam-ba
  6. python爬虫基础爬取用户头像实战
  7. 计算机网络提供信息传输服务,计算机网络通常被划分为通信子网和资源子网,通信子网提供信息传输服务,资源子网提供共享资源。...
  8. 12种常见贴片焊接工具
  9. 如何测试工业以太网线缆(利用FLUKE DSX-8000)?
  10. xhEditor用法-可视化HTML编辑器