Python自动化运维开发----基础(五)切片应用 && 列表函数
admin
2023-07-14 16:04:38
0

1.切片的应用

(1)复制列表: 直接赋值新的列表和用切片得到的新列表的区别?

使用直接赋值新列表的方式并且查看在内存中的位置,这种方式两个列表在内存中的位置是一样,一个列表改变另一个也会跟着改变

>>> a = [1, 2, 3]
>>> b = a
>>> id(a)
139827490542536
>>> id(b)
139827490542536
>>> a[0] = 0
>>> b[0]
0
>>> b
[0, 2, 3]

用切片得到的列表是一个全新的列表,不会跟着之前的列表改变,列表在内存中的位置也不会改变

>>> c = a[:]
>>> c
[0, 2, 3]
>>> a
[0, 2, 3]
>>> a[0] = 1
>>> a
[1, 2, 3]
>>> c
[0, 2, 3]
>>> id(a)
139827490542536
>>> id(c)
139827490544840

(2)反转list

让list反序排列  step = -1时 list就会反转

>>> a
[1, 2, 3]
>>> a[::-1]
[3, 2, 1]

(3)获取索引编号都是偶数的列表元素

>>> a
[1, 2, 3]
>>> a[::2]
[1, 3]

(4)获取索引编号都是奇数的列表元素

>>> a
[1, 2, 3]
>>> a[1::2]
[2]

(5)使用切片对列表进行增删改

通过切片使列表变成一个空列表

>>> a
[1, 2, 3, 1, 2, 4]
>>> a[:] = []
>>> a
[]

通过切片改变列表元素的值

>>> a
[1, 2, 3, 5, 6]
>>> a[2:3]
[3]
>>> a[2:3] = [4,1]
>>> a
[1, 2, 4, 1, 5, 6]

通过切片删除列表的元素

>>> a
[1, 2, 4, 1, 5, 6]
>>> a[2:5] = []
>>> a
[1, 2, 6]

2.切片的函数

查看切片的函数有哪些?

dir(list)

查看函数的使用帮助?

help(list.函数名)

(1)append 函数  做列表追加

>>> a
[1, 2, 6]
>>> a.append(5)
>>> a
[1, 2, 6, 5]

(2)clear函数  情况列表的元素

>>> a
[1, 2, 6, 5]
>>> a.clear()
>>> a
[]

a.clear()  和 a = [] 的区别?

在内存中的位置改变了 

>>> a
[1, 2, 5, 6]
>>> id(a)
139827490570312
>>> a = []
>>> id(a)
139827490545224

(3)copy 函数   复制一个列表

>>> a = [1, 2]
>>> b = a.copy()
>>> b
[1, 2]
>>> id(a)
139827490570312
>>> id(b)
139827490545480

(4)count 函数  统计value出现的次数

>>> a
[1, 2, 1, 2]
>>> a.count(1)
2
>>> a.count(2)
2

(5)extend 函数 扩展元素

>>> a
[1, 2, 1, 2]
>>> a.extend('456')
>>> a
[1, 2, 1, 2, '4', '5', '6']

extend 函数和 append 函数的区别?

>>> a.extend('456')
>>> a
[1, 2, 1, 2, '4', '5', '6']
>>> a.append(456)
>>> a
[1, 2, 1, 2, '4', '5', '6', 456]

extend 是把要添加的东西拆分成一个个元素添加在后边,append 是把要添加的作为一个整体作为一个整体

(6)index 函数  用来获取元素索引编号

>>> a
[1, 2, 1]
>>> a.index(1)
0
>>> a.index(2)
1

(7)insert 函数  插入元素 (在指定的索引编号之前插入)

>>> a
[1, 2, 1]
>>> a.insert(1,3)
>>> a
[1, 3, 2, 1]

(8)pop 函数  移除并返回元素值(默认是删除最后一个元素,可以指定删除的元素,需要指定索引编号)

a.pop(索引编号) 不写索引编号 默认是删除最后一个

>>> a
[1, 3, 2, 1]
>>> a.pop()
1
>>> a
[1, 3, 2]

(9)remove 函数 移除第一个匹配到的value

>>> a
[1, 3, 2, 1]
>>> a.remove(1)
>>> a
[3, 2, 1]

(10)reverse 函数  反转

>>> a
[3, 2, 1]
>>> a.reverse()
>>> a
[1, 2, 3]

reverse 函数和 切片反转的区别?

reverse 改变了原来的列表   切片的反转没有改变原来的list

(11)sort 函数  排序

>>> a[2:3] = [6,5]
>>> a
[1, 2, 6, 5]
>>> a.sort()
>>> a
[1, 2, 5, 6]


相关内容

热门资讯

特朗普:正致力于与伊朗达成协议... 特朗普在《纽约邮报》一档播客访谈节目中称,他正与伊朗磋商一项协议,伊朗已同意不再谋求拥有核武器。他表...
不接壤的日菲为何偷划海界? 日菲近日发表联合声明,宣称就“划定两国专属经济区和大陆架的海洋边界”启动正式谈判。两个隔海相望的国家...
凤凰晚报丨从钳工到老戏骨,魏宗... 今日人物【从钳工到老戏骨,魏宗万用一生诠释“戏比天大”】6月1日,表演艺术家魏宗万在上海逝世,享年8...
科威特称伊朗袭击致63人受伤 科威特卫生部门3日称,伊朗当天对科威特的袭击已造成63人受伤,相关部门已启动紧急应对预案,并在全国范...
日本标榜“和平国家”却行扩军备... 今年是东京审判开庭80周年,世界正回望历史、反思战争罪责、捍卫二战后来之不易的国际秩序之际,日本却迈...
浙江杨梅即将大规模上市,如何破... “我们现在的压力很大。”5月底,浙江余姚杨梅产区丈亭镇副镇长林宇站在一片杨梅林前对第一财经表示,当地...
致5死2伤!韩国就韩华航空航天... 【环球网报道 记者 姜蔼玲】据韩联社6月1日报道,针对位于韩国大田的韩华航空航天公司发生爆炸致7人伤...
黄河科技学院2026年招生简章 长按图片识别二维码或点击 “阅读原文” 查看电子招生简章。
医路起航,从“心” 开始!黄河... 6月1日上午,黄河科技学院附属医院2022级临床医学本科实习生入院岗前培训在大医讲堂顺利举办。院领导...
问题居然在实体卡槽上!美版iP... 6月2日消息,日前,又有博主提前把还没发布的iPhone 18 Pro电池参数给曝光了出来,根据爆料...