千锋教育-做有情怀、有良心、有品质的职业教育机构

Python常用切片操作

来源:千锋教育
发布时间:2023-11-06 18:15:38
分享

以列表:a=[0,1,2,3,4,5,6,7,8,9]为说明对象

1.取偶数位置

>>>b=a[::2]

[0,2,4,6,8]

2.取奇数位置

>>>b=a[1::2]

[1,3,5,7,9]

3.拷贝整个对象

>>>b=a[:]#★★★★★

>>>print(b)#[0,1,2,3,4,5,6,7,8,9]

>>>print(id(a))#41946376

>>>print(id(b))#41921864

>>>b=a.copy()

>>>print(b)#[0,1,2,3,4,5,6,7,8,9]

>>>print(id(a))#39783752

>>>print(id(b))#39759176

需要注意的是:[:]和.copy()都属于“浅拷贝”,只拷贝最外层元素,内层嵌套元素则通过引用,而不是独立分配内存。

>>>a=[1,2,['A','B']]

>>>print('a={}'.format(a))

a=[1,2,['A','B']]#原始a

>>>b=a[:]

>>>b[0]=9#修改b的最外层元素,将1变成9

>>>b[2][0]='D'#修改b的内嵌层元素

>>>print('a={}'.format(a))#b修改内部元素A为D后,a中的A也变成了D,说明共享内部嵌套元素,但外部元素1没变。

a=[1,2,['D','B']]

>>>print('b={}'.format(b))#修改后的b

b=[9,2,['D','B']]

>>>print('id(a)={}'.format(id(a)))

id(a)=38669128

>>>print('id(b)={}'.format(id(b)))

id(b)=38669192

4.修改单个元素

>>>a[3]=['A','B']

[0,1,2,['A','B'],4,5,6,7,8,9]

5.在某个位置插入元素

>>>a[3:3]=['A','B','C']

[0,1,2,'A','B','C',3,4,5,6,7,8,9]

>>>a[0:0]=['A','B']

['A','B',0,1,2,3,4,5,6,7,8,9]

6.替换一部分元素

>>>a[3:6]=['A','B']

[0,1,2,'A','B',6,7,8,9]

以上内容为大家介绍了Python常用切片操作,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • Python中的inf与nan python中可以用如下方式表示正负无穷>>>float('inf')#正无穷,inf不区分大小写,float('InF')一样可以。inf>>>float('
  • Python中yield的用法详解 首先我要吐槽一下,看程序的过程中遇见了yield这个关键字,然后百度的时候,发现没有一个能简单的让我懂的,讲起来真TM的都是头头是道,什么参数,什么传递的,还口口声声说自己的教程是最简单的,最浅显易懂
  • Python增强 Python自身的已有的一些功能可以随着标准库的使用而得到增强。1)文字处理Python的string类提供了对字符串进行处理的方法。更进一步,通过标准库中的re包,Python可以用正则表达式(re
  • Python自定义模块导入方法 Python模块是一个Python文件,以.py结尾,包括了Python对象定义和Python语句,能让Python代码段更有逻辑性、更好用、更易懂,既然Python模块有这么多好处,那么该如何引用P
  • 用Python+OpenCV实现自动扫雷 相信许多人很早就知道有扫雷这么一款经典的游(显卡测试)戏(软件),更是有不少人曾听说过中国雷圣,也是中国扫雷第一、世界综合排名第二的郭蔚嘉的顶顶大名。扫雷作为一款在Windows9x时代就已经诞生的经
  • python unittest控制用例的执行顺序 为什么要进行顺序控制呢?使用过testng的同学就知道,它相对于junit来说有更强大的功能,其中的一个功能就是依赖测试。什么是依赖测试呢?简单的说一下就是,A方法运行时,其中有个变量的取值是B方法的