作者:pk哥
公众号:Python知识圈
阅读文本大概需要 3 分钟
Python列表知识点汇总,我总结成了 5 个字:增删改查序。
就是对列表进行新增元素、删除元素、改变元素、查询元素、列表排序。
接下来对应展开为 Python 习题。
对列表新增元素,有四种方式。
1、用 extend 方法。
>>> l = [1, 2, 3]
>>> j = [4, 5, 6]
>>> l.extend(j)
>>> l
[1, 2, 3, 4, 5, 6]
2、用运算符 + 对列表直接进行拼接。
>>> l = [1, 2, 3]
>>> j = [4, 5, 6]
>>> l + j
[1, 2, 3, 4, 5, 6]
extend 方法和 运算符 + 的效果看起来一致,原理上其实是有差别的,大家可以用查看代码运行原理的在线工具看看就一目了然了。
工具地址:
http://www.pythontutor.com/visualize.html#mode=edit
运行原理图可以看到,extend 方法是直接在原列表上直接新增,a 列表直接被新增,extend 方法返回的是 None。而用运算符相加的话,相加的结果新开辟一个内存来存放新的列表。
3、用 insert 方法在对应位置插入新的对象。
我们需要给出插入位置的索引,从 0 开始。
>>> num = [1, 2, 4, 5]
>>> num.insert(2, 'three')
>>> num
[1, 2, 'three', 4, 5]
4、用切片的方式将一个对象插入到列表中。
>>> num = [1, 2, 4, 5]
>>> num[2:2] = ['three']
>>> num
[1, 2, 'three', 4, 5]
1、我们可以用 pop 方法来删除列表中的元素。
pop 方法默认是删除最后一个元素。
>>> num = [1, 2, 4, 5]
>>> num.pop()
5
>>> num
[1, 2, 4]
我们也可以指定索引位置删除对应的元素。
>>> num = [1, 2, 4, 5]
>>> num.pop(1)
2
>>> num
[1, 4, 5]
2、用 remove 方法删除元素。
如果删除的元素有多个的话,只会删除先出现的那一个,其他的不会删除。
>>> num = [1, 2, 4, 5, 4]
>>> num.remove(4)
>>> num
[1, 2, 5, 4]
3、如果需要全部清空列表元素,用 claer 方法。
>>> l = [1, 2, 3]
>>> l.clear()
>>> l
[]
修改列表里的元素,我们直接用下标赋值替换就好。
>>> num = [1, 2, 4, 5]
>>> num[1] = 'two'
>>> num
[1, 'two', 4, 5]
查询列表里的元素,我们也用下标直接查看。
>>> num = [1, 2, 4, 5]
>>> num[0]
1
我们也可以查询具体元素对应的索引值,用 index 方法。
>>> l = ['are', 'you', 'ok']
>>> l.index('you')
1
这个可以用 sort 和 sorted 都可以做到。
这两种方式的区别是什么呢?我们直接用运行原理工具查看。
sort() 直接返回为 None,它直接在原列表上进行排序,原列表改变了,sorted 会开辟一个新的内存空间来存放排序好的列表。
sort 和 sorted 默认都是升序排列的,如果想降序呢?那也简单,把 reverse 参数改成 True就搞定,这个参数默认为 False。
这个就是全量把列表里的元素掉头。
1、用 reverse 方法。
>>> num = [1, 2, 3, 4, 5]
>>> num.reverse()
>>> num
[5, 4, 3, 2, 1]
2、用切片的方法搞定。
>>> num = [1, 22, 45, 99, 49]
>>> num[::-1]
[49, 99, 45, 22, 1]
长按扫码关注
一起学Python
------------------
原创不易,莫要白嫖,如果觉得有点用的话,请毫不留情地素质三连吧,分享、点赞、在看、收藏,我不挑,因为这将是我写作更多优质文章的最强动力。
往期精选(????猛戳可查看)
1、Excel查询函数终结者
2、我用Pipenv来管理项目环境,大写的爽
3、整理了我开始分享学习笔记到现在超过250篇优质文章,涵盖数据分析、爬虫、机器学习等方面,别再说不知道该从哪开始,实战哪里找了