python 列表切片
列表切片是python语言独有的特征,大大方便了我们的编码。
首先,在介绍切片之前,必须要知道一个知识,就是python列表的读写,下标可以使用负数。
insert,get,set 操作均可传入负数下标
当传入的下标是负数时,python会自动的加上一个length,但只会加一次,也就是说如果这个负数超过了 - length ,那么就会报错了
list 的负数下标
a = [1, 2, 3, 4, 5]
# index = -1 + 5 = 4
# a[-1] == a[4]
print(a[-1]) #
当负数下标超过length
a = [1, 2, 3, 4, 5]
# index = -6 + 5 = -1
print(a[-6]) # IndexError: list index out of range
接下来是切片
list 的下标可以接收三个参数,分别是 beg (起始下标), end (结束下标) , step(步长)more,用冒号分隔
当 step > 0 : beg 默认值是0, end 默认值是 最末之后
当 step < 0 : beg 默认值是length-1, end默认值是 开头之前
当 step = 0: 报错
step 默认值是1
a = [1, 2, 3, 4, 5]
# step 默认值 1 ,当 step > 0, beg 默认值 0 ,end 默认值 最末之后
print(a[:]) # [1, 2, 3, 4, 5]
print(a[::]) # [1, 2, 3, 4, 5]
print(a[0:5:1]) # [1, 2, 3, 4, 5]
print(a[0:1000:1]) # [1, 2, 3, 4, 5] # 当 step < 0, beg 默认值 length-1 ,end 默认值 开头之前
print(a[::-1]) # [5, 4, 3, 2, 1]
print(a[len(a) - 1:-100:-1]) # [5, 4, 3, 2, 1]
切片产生的是列表的一个副本:
a = [1, 2, 3, 4, 5]
b = a[1:]
print(a) # [1, 2, 3, 4, 5]
print(b) # [2, 3, 4, 5]
切片的写操作:
a = [1, 2, 3, 4, 5]
a[1:] = ['a']
print(a) # [1, 'a']
end
python 列表切片的更多相关文章
- Python 列表切片陷阱:引用、复制与深复制
Python 列表的切片和赋值操作很基础,之前也遇到过一些坑,以为自己很懂了.但今天刷 Codewars 时发现了一个更大的坑,故在此记录. Python 列表赋值:复制"值"还是 ...
- python列表切片
Python中符合序列的有序序列都支持切片(slice),例如列表,字符串,元组. 格式:[start:end:step] start:起始索引,从0开始,-1表示结束 end:结束索引 step:步 ...
- Python列表切片详解([][:][::])
Python切片是list的一项基本的功能,最近看到了一个程序,里面有这样一句类似的代码: a = list[::10] 1 不太明白两个冒号的意思就上网百度,发现大多数人写的博客中都没有提到这一个用 ...
- 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,即每 ...
- Python 之列表切片的四大常用操作
最近在爬一个网站的文档的时候,老师要求把一段文字切割开来,根据中间的文本分成两段 故学习了一段时间的切片操作,现把学习成果po上来与大家分享 1.何为切片? 列表的切片就是处理列表中的部分元素,是把整 ...
- python列表的索引与切片
<1>.python的列表 索引方式: 例如,list1 = ['张三','男','33','江苏','硕士','已婚',['身高178','体重72']] 1.正向单索引 print(l ...
随机推荐
- redis简介(未完成)
redis是一个用c语言开发的一个开源的高性能键值对(key-value)数据库,基本类型: 1)字符串型 string 2)字符串列表 lists 3)字符串集合 sets 4)有序字符串集合 so ...
- 设计模式(四) Factory Pattern工厂模式
核心: 实例化对象,实现创建者和调用者的分离 简单工厂模式 工厂方法模式 抽象工厂模式 面对对象设计的基本原则: ocp(open closed principle) 开闭原则:一个软件的实体应当对拓 ...
- Matlab中的基本数据类型介绍
Matlab中支持的数据类型包括: 逻辑(logical)字符(char)数值(numeric)元胞数组(cell)结构体(structure)表格(table)函数句柄(function handl ...
- Qt532.QString::split()
1.效果 和 JS里面 貌似是一样的 1.1.QString 编码转换(https://www.cnblogs.com/CodeSkill/p/5082447.html) 2.代码: void Mai ...
- 《剑指offer》第四十二题(连续子数组的最大和)
// 面试题42:连续子数组的最大和 // 题目:输入一个整型数组,数组里有正数也有负数.数组中一个或连续的多个整 // 数组成一个子数组.求所有子数组的和的最大值.要求时间复杂度为O(n). #in ...
- Linux性能测试工具-UnixBench
■下载路径: unixbench-5.1.2.tar.gz :http://soft.vpser.net/test/unixbench/ unixbench-5.1.3.tar.gz :http:// ...
- 第 3 章 镜像 - 016 - Dockerfile 常用指令
Dockerfile 常用指令 1.FROM 指定base镜像2.MAINTAINER 设置镜像的作者,可以为任意字符串3.COPY 从build context 复制到镜像 COPY 支持两种形式: ...
- Axure 全局变量公式的使用和局部变量
全局变量和全部变量的公式: 1.全局变量在当前用例所有的动作里面都有,都可以设置 2.全局变量的公式在中括号里面的变量可以运算,但是在中括号外面的变量只是起到连接的作用 局部变量: 局部变量只可以在当 ...
- 数据结构(C语言版)-第1章 绪论
- 转录调控实战 | 一文解决转录调控问题 | chIP-seq | ATAC-seq
做生物的想发文章怎么办?转录调控来解析(huyou)! 最简单的情形: 1. 我在研究一个非常重要的基因A,功能已经做得差不多了,现在想深挖,第一步就是想知道哪个转录因子调控这个基因A: 2. 我发现 ...