python:列表切片知识的总结
列表的切片操作时对其中的单个或者多个索引对应元素的操作,具有如下特点:
①、切片区间是左闭右开区间
②、切片的下标可以表示负数,-1表示倒数第一个数,-2表示倒数第二个数
③、默认步长是1,可增加第三个参数改变步长
④、步长是-1可以实现倒序切片
⑤、步长为正时,首末缺省下标分别为0和n;步长为负时,首末缺省下标分别为-1,-n-1
例如:把123456789变成987654321
# py面试:把123456789变成987654321
# 考查切片知识,倒叙每一个数
a=[1,2,3,4,5,6,7,8,9]
b=a[::-1]
print(b)
输出:[9,8,7,6,5,4,3,2,1]
-1表示倒序,b=a[::-1]等同于b=a[-1::-1],输出也是[987654321]
1、取前三个元素:b=a[0:3],前面那个0可以省略
a=[1,2,3,4,5,6,7,8,9]
b=a[0:3]
print(b)
输出:[1,2,3]
2、取出第1到3个元素:b=a[1:3]
a=[1,2,3,4,5,6,7,8,9]
b=a[1:3]
print(b)
输出:[2,3]
3、b=a[-1]是取出a中最后一个元素,同样也支持倒数切片
a=[1,2,3,4,5,6,7,8,9]
b=a[-2:-1]
print(b)
输出:[8]
4、从第一个开始,每两个取一个
a=[1,2,3,4,5,6,7,8,9]
b=a[0:10:2]
print(b)
输出:[1,3,5,7,9]
5、直接复制一个list:b=a[:]
a=[1,2,3,4,5,6,7,8,9]
b=a[:]
a[0]=100
print(b)
输出:[1,2,3,4,5,6,7,8,9]
b=a不是真实的拷贝:
a=[1,2,3,4,5,6,7,8,9]
b=a
a[0]=100
print(b)
输出:[100, 2, 3, 4, 5, 6, 7, 8, 9]
6、切片除了操作list,也可以操作tuple和str
# 操作tuple
a=(1,2,3,4,5,6,7,8,9)
b=a[:3]
print(b)
输出:(1, 2, 3)
# 操作str
a=""
b=a[:3]
print(b)
输出:123
python:列表切片知识的总结的更多相关文章
- python 列表切片
列表切片是python语言独有的特征,大大方便了我们的编码. 首先,在介绍切片之前,必须要知道一个知识,就是python列表的读写,下标可以使用负数. insert,get,set 操作均可传入负数下 ...
- Python 列表切片陷阱:引用、复制与深复制
Python 列表的切片和赋值操作很基础,之前也遇到过一些坑,以为自己很懂了.但今天刷 Codewars 时发现了一个更大的坑,故在此记录. Python 列表赋值:复制"值"还是 ...
- python列表切片
Python中符合序列的有序序列都支持切片(slice),例如列表,字符串,元组. 格式:[start:end:step] start:起始索引,从0开始,-1表示结束 end:结束索引 step:步 ...
- Python列表切片详解([][:][::])
Python切片是list的一项基本的功能,最近看到了一个程序,里面有这样一句类似的代码: a = list[::10] 1 不太明白两个冒号的意思就上网百度,发现大多数人写的博客中都没有提到这一个用 ...
- python 字符串切片知识巩固
切片操作(slice)可以从一个字符串中获取子字符串(字符串的一部分).我们使用一对方括号.起始偏移量start.终止偏移量end 以及可选的步长step 来定义一个分片. 格式: [start:en ...
- python 列表切片之负数的含义代码示例
a = list(range(10)) print(a[::]) #复制一个列表 print(a[::2]) #每隔2个取一次 print(a[::3]) #每隔3个取一次 print(a[::-1] ...
- python之列表切片(slice)
使用索引获取列表的元素(随机读取) 列表元素支持用索引访问,正向索引从0开始 colors=["red","blue","green"] c ...
- python 输出所有大小写字母, range()以及列表切片
所以在写的时候,只要把它们的ASCII列出,并转化成字符型chr 即可. print [chr(i) for i in range(65,91)]#所有大写字母 print [chr(i) for i ...
- Python列表的切片操作
在Python列表中分片是一个很重要的操作,有以下几个注意的点: 切片时不包含最后一位,如下例子中,要取最后一位,从0开始算应该是到7就可以取,但是需要8才能取 2. 默认取值步长为1,即每 ...
随机推荐
- mysql的锁与事务
1. MySQL中的事物 1.InnoDB事务原理 1. 事务(Transaction)是数据库区别于文件系统的重要特性之一,事务会把数据库从一种一致性状态转换为另一种一致性状态. 2. 在数据库提交 ...
- Java easyui 下拉框默认选中第一个
html代码: <tr> <td> <div style="margin-bottom:5px">计价方式: <%--下拉框默认选中第 ...
- 认识Nginx
无论你用浏览器还是APP访问多数网站,到达的第一站就是Nginx. 后来者居上的Nginx 千禧年前后,互联网业务迎来了高速发展,老牌的Web服务器都无法满足高性能.高可靠的市场需求. 一个开源的(遵 ...
- OpenGL 实现视频编辑中的转场效果
转场介绍 转场效果是什么? 转场效果,简单来说就是两段视频之间的衔接过渡效果. 现在拍摄 vlog 的玩家越来越多,要是视频没有一两个炫酷的转场效果,都不好意思拿出来炫酷了. 那么如何在视频编辑软件中 ...
- 03 Uipath调用VBA脚本,处理excel文档格式
前言: 在平时我们的工作中,经常需要使用Uipath自动的导入大量数据到Excel表格中,但是却发现,数据导入到Excel之后,格式却是很乱,基本不能看,就像下图: 而Uipath对Excel的操 ...
- Docker极简部署Kafka+Zookeeper+ElasticStack
之前写ELK部分时有朋友问有没有能一键部署的Kafka+ELK,写本文主要是填这个坑,基本上配置已经集中在一两个文件中了,理论上此配置支持ElasticStack 7.x所有版本 本文所有配置与代码均 ...
- activated钩子函数
activated钩子函数是在组件被激活后的钩子函数,mounted是不保证组件在document中,也就是组件还没有被激活,因此可以理解为activated执行在mounted之后. 在跳转传值时, ...
- [Microsoft Teams]使用连接器接收Azure Devops的通知
1. 什么是连接器 连接器(connector)是Teams中频道的一个接受消息的功能,官方的解释如下: 连接器允许用户订阅来自 web 服务的接收通知和消息. 它们公开服务的 HTTPS 终结点,通 ...
- iOS开发:判断iPhone是否是刘海屏iPhoneX、iPhoneXR、iPhoneXs、iPhoneXs Max等
保证能判断,呕心沥血,不行切JIJI 方法一 Objective-C // iPhoneX.iPhoneXR.iPhoneXs.iPhoneXs Max等 // 判断刘海屏,返回YES表示是刘海屏 - ...
- mybatis入门详解
一.mybatis-config.xml文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYP ...