热门IT资讯网

Python自动化运维开发----基础(五)切片应用 && 列表函数

发表于:2024-11-27 作者:热门IT资讯网编辑
编辑最后更新 2024年11月27日,1.切片的应用(1)复制列表: 直接赋值新的列表和用切片得到的新列表的区别?使用直接赋值新列表的方式并且查看在内存中的位置,这种方式两个列表在内存中的位置是一样,一个列表改变另一个也会跟着改变>>>

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]


0