python列表相关操作(3)
2022/1/25 17:04:55
本文主要是介绍python列表相关操作(3),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.改
改元素与数组类似,直接改就可以。
当有多个元素需要替换时,可通过切片来实现
其实际是先通过删除需要改的元素,之后插入改变后的元素来实现的
如:
>>> s=[1,2,3,4,5] >>> s[0]="改" >>> s ['改', 2, 3, 4, 5] >>> s[3:]=[6,7] >>> s ['改', 2, 3, 6, 7]
2.对数字列表的排序
当一个列表中的元素全是数字是我们可以通过sort()函数对列表进行从小到大排序
reverse函数可将列表反序
>>> a=[4,8,12,46,8,9] >>> a.sort() >>> a [4, 8, 8, 9, 12, 46] >>> a.reverse() >>> a [46, 12, 9, 8, 8, 4]
3.查
count函数查找该列表中某个元素的个数
index函数则返回列表中某个元素的索引值,当有多个一样的元素时,返回下标最小的元素
index(x,s,e)其中s与e表示查找的范围
>>> a [46, 12, 9, 8, 8, 4] >>> a.count(8) 2 >>> a.index(8) 3 >>> a[a.index(12)]=21#不知道元素索引值时更改元素 >>> a [46, 21, 9, 8, 8, 4] >>> a.index(8,4,5) 4
4.copy,列表的拷贝
若直接将列表赋值给一个变量,实际只有一个列表,但用copy之后赋值则是创建了一个新的列表
拷贝还可通过切片实现
无论是通过copy还是切片实现的拷贝都只是浅拷贝
关于浅拷贝与深拷贝的简单理解:如果列表中的元素是地址,那拷贝时会有两个列表中的某一个元素指向同一个地址,这属于浅拷贝,但如果拷贝时并非是简单的赋值,而是对是地址的那个元素新申请一段同种类型的空间,然后地址赋值给地址元素,然后原地址空间中的值赋值给新地址空间,那就实现了深拷贝
示例:
>>> a [46, 21, 9, 8, 8, 4] >>> b=a >>> a[0]=1#a变b也变 >>> b [1, 21, 9, 8, 8, 4] >>> c=a.copy() >>> c[1]=0#c变a不变 >>> c [1, 0, 9, 8, 8, 4] >>> a [1, 21, 9, 8, 8, 4] >>> a [1, 21, 9, 8, 8, 4] >>> d=a[:] >>> d[0]=0 >>> d [0, 21, 9, 8, 8, 4] >>> a [1, 21, 9, 8, 8, 4]
这篇关于python列表相关操作(3)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python