「这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战」
正式的Python专栏第27篇,同学站住,别错过这个从0开始的文章!
上篇学委对照tuple文章的操作一一罗列了list列表数据的相应的操作。
这次我们继续把list的其他操作看完。
list比tuple多了这些操作支持
前面学委提到tuple(元组)就是焊死了的一串串车厢,list支持元素编辑,明显灵活多了。
我们先看看删除操作,python中的list就支持了3中删除元素的操作。
假设我们定义一个列表对象 list_obj, 那么我们可以执行下面任意一个操作,进行元素删除。
1 | less复制代码del list_obj[下标] |
好,我们看看下面完整代码:
1 | python复制代码#!/usr/bin/env python |
效果如下:
特别需要注意的是:删除元素不能超过list的下标范围,否则报错!
除了删除,list怎么添加/扩充元素呢?
先不说修改的,list也支持定位查找元素,我们先看看。
1 | bash复制代码list_obj.index(某个元素值) #通过某个元素值定位到第一个匹配的下标,从0位置开始找。 |
假设list_obj = [3, 2, 1] 那么list_obj.index(2) 则是什么?
答案是:1。
好,我们继续说插入新元素。
1 | bash复制代码# python中的list支持下面两种方式追加元素 |
那么一次性追加多个,或者直接扩充某个列表到现有列表呢?
我们找到了extend函数,使用list_obj.extend(补充列表) 就能把list_obj直接扩充了,效果是依次追加补充列表的元素到末尾。
说这么多操作,我们直接复制运行下面的代码看看:
1 | perl复制代码#!/usr/bin/env python |
这是代码运行效果:
非常简便,我们继续看看列表元素排序
list的排序
前面说的都是编辑操作,list也可以进行数据排列,也就是按照一定逻辑进行顺序排列。
list提供了一个sort函数和reverse函数。
先说简单的,reverse函数相当于把整个串串车厢直接调头。也就是list:[1,2,3] 经过reverse函数处理后,变成了[3,2,1]。
sort则更加弹性,默认安装元素面值(比如数字,数字串),还支持传入一个lambda函数,指定排序逻辑。
以上函数默认会对一个数字组成的数组进行按数字面值大小排序
1 | python复制代码#!/usr/bin/env python |
效果如下,读者可以仔细看看是否如学委所说。
特别注意:学委上面示例代码也展示了,如果一个列表内元素不是同一类型(都是数字,都是字符串或者都是某个类型),开发者必须实现一个lambda函数给sort函数作为参考进行排序。
总结
list有很多功能,进行元素的操作(添加/删除/定位)等非常方便。
而且还能轻易扩充,排序,逆序等,这让list的使用非常广泛,每个学习python的务必多敲代码,掌握熟练。
对了,喜欢Python的朋友,请关注学委的 Python基础专栏 or Python入门到精通大专栏
持续学习持续开发,我是雷学委!
编程很有趣,关键是把技术搞透彻讲明白。
欢迎关注微信,点赞支持收藏!
本文转载自: 掘金