Python中切片(Slicing)的运用(:运算符)
总结:
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)的运用(:运算符)相关推荐
- Python中的注释和算数运算符
Python中的注释和算数运算符 文章目录 Python中的注释和算数运算符 一.注释 01. 注释的作用 02. 单行注释(行注释) 在代码后面增加的单行注释 03. 多行注释(块注释) 什么时候需 ...
- 说说Python中切片是什么?
公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...
- Python中切片详细讲解
1.Python中切片的索引方式分为两种: 正索引 负索引 2.切片操作的表达方式 object[start_index:end_index:step] step:可以表示切片的步长,当为1时表示顺序 ...
- python中的数据类型和常用运算符
一. python中常见的数据类型 整数:任何时候运算都是精确的 浮点数:运算的时候,可能会有四舍五入 字符串:字符串是以单引号'或双引号"括起来的任意文本 同类型的可以用+号 或者 , 号 ...
- python中计算整商的运算符_Python 运算符中用来计算整商的是( ). (2.0分)_学小易找答案...
[判断题]函数的名称可以随意命名.( ) (2.0分) [判断题]python中的代码块使用缩进来表示. (2.0分) [单选题]下列选择中,符合python命名规范的标识符是( ). (2.0分) ...
- python中切片操作_Python中14个切片操作,你常用哪几个?
切片(Slice)是一个取部分元素的操作,是Python中特有的功能.它可以操作list.tuple.字符串. Python的切片非常灵活,一行代码就可以实现很多行循环才能完成的操作.切片操作的三个参 ...
- python中切片是指什么_Python *中的默认切片索引是什么*?
Slice indices have useful defaults; an omitted first index defaults to zero, an omitted second index ...
- 如何在python中创建列表副本,在Python中切片列表而不生成副本
I have the following problem. Given a list of integers L, I need to generate all of the sublists L[k ...
- 2!=5 or 0在python中是否正确-python中的or,and运算符
and 和 or 的用法 and 和 or 是python的两个逻辑运算符,可以使用and和or进行多个条件内容的判断. and是当and连接的所有的表达式的值为真时,才为真 or是当or连接的所有表 ...
- 警惕python中的*重复符(运算符)
在python中有个特殊的符号"*",可以用做数值运算的乘法算子,也是用作对象的重复算子,但在作为重复算子使用时一定要注意 注意的是:*重复出来的各对象具有同一个id,也就是指向在 ...
最新文章
- 深度学习中的最大似然估计简介
- 搜索引擎-倒排索引基础知识
- 词云_jieba分词
- oracle怎么授权外地连接,Oracle异地RAC 简单介绍(Extended Distance Clusters)
- 前端学习(696):双重for循环
- redis发布与订阅
- XamlReader 动态加载XAML
- 绘图QPainter-字体
- Java定时器cron表达式
- 背包问题1:【SSL】1059.01背包问题——2021-03-10更
- 【Windows远程桌面】RDP Wrapper 监听器状态为 Not listening [not supported] 的解决方法
- HOG+ADABOOST方式训练头肩检测模型
- php代码加nofollow,给WordPress友情链接添加Nofollow方法详解
- Android MVP伴侣,Nucleus框架使用简介
- Sql Server中的用户名和登录名
- DELLR740带外镜像安装系统
- 机械键盘按键失灵解决办法(亲测有效,不用换不用拆,5分钟搞定)
- 前端 几个好看的button
- 基于stm32f4的按键检测
- AcWing 204. 表达整数的奇怪方式
热门文章
- win10的计算机 桌面图标不见了怎么办,教你win10桌面我的电脑图标不见了怎么办...
- 文献分享:定义的肿瘤抗原特异性T细胞增强了个性化的TCR-T细胞治疗和免疫治疗反应的预测
- 破解docx文档保护密码
- 清华天才王垠和阿里 P10 面试官赵海平神仙打架后,我们来说说技术面试中的该与不该!...
- SAM-BA 2.14 reconfiguration----DIY你的sam-ba
- python爬虫基础爬取用户头像实战
- 计算机网络提供信息传输服务,计算机网络通常被划分为通信子网和资源子网,通信子网提供信息传输服务,资源子网提供共享资源。...
- 12种常见贴片焊接工具
- 如何测试工业以太网线缆(利用FLUKE DSX-8000)?
- xhEditor用法-可视化HTML编辑器