前言:
眼前姐妹们对“pythonlist切片”大概比较关注,你们都需要分析一些“pythonlist切片”的相关知识。那么小编同时在网上搜集了一些关于“pythonlist切片””的相关知识,希望朋友们能喜欢,各位老铁们一起来了解一下吧!1、列表切片
列表切片方法和字符串切片方法在逻辑上是相同的,只是针对的对象从字符串变化为列表。基本语法如下:
List[a:b],对列表中的元素,取出从a开始的,到b终止的所有元素(不包含b对应的元素)
List[:b],对列表中的元素,取出b之前的所有元素(不含b对应的元素)
List[a:],对列表中的元素,取出从a开始的所有元素
List[:],复制完整列表
List[a:b:e],对列表中的元素,取出从a开始,间隔为e抽取下一个元素,至b结束的所有元素(不包含b)
List[::-1],列表反转
代码举例:
a_list=[1,2,3]rev_list=a_list[::-1]print(rev_list)
运行之后的结果为[3, 2, 1]
2、列表切片赋值
通过列表切片,可以对目标列表内的元素实现替换,相当于在原来位置删除对应的元素,然后添加进入新的元素。
代码举例如下:
b_list=[1,2,3,4,5,6,7,8,9]b_list[2:5]=[1,1,1,1]print(b_list)b_list[0:0]=[1,1,1,1]print(b_list)
运行结果如下:
[1, 2, 1, 1, 1, 1, 6, 7, 8, 9]
[1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 6, 7, 8, 9]
这里面可以发现一个事实,切片赋值的列表元素长度是不受限制的,只要是列表格式,就可以替换插入到列表中。当在0位置赋值时,得到的运行结果是在列表的起始位置插入了对应的列表及元素。
特殊的,当输入第三个参数(即间隔插入元素时),则要求拟插入的列表和原列表的大小必须匹配。
3、列表运算符
除了列表串联与批量复制之外,还有列表的每个元素的比较(直接通过“>”“≥”“<”“≤”“!=”以及“==”等进行比较,并进行判断,结果通过True或者False等显示)
4、浅拷贝与深拷贝
对于列表中元素含有列表的列表,例如list=[a,b,[a,b]],这个列表中包含三个元素:a,b,和一个列表元素[a,b]
我们通过列表复制的方法list[:],这时表面上实现了对列表的复制,可以继续完成列表元素替换的操作。但是实际上列表内的列表元素依然是关联到原列表的。所以此时需要通过深拷贝来实现每个元素都有自己的副本,消除列表内的列表元素的影响。
import copyb_list=[1,2,3,4,5,[6,7,8],9]c_list=copy.deepcopy(b_list)print(c_list)
#加油!
#一点一滴的努力,未来都会有回报。
#岁月静好,不去羡慕旁人,只做好自己,花朵总会绽放。
#以上学习感悟来自于《高阶Python代码精进之路》([美]Brain Overland, John Bennett著,李辉,韩慧昌译,中国工信出版集团电子工业出版社2022年4月出版)