> 最近有许多小伙伴问我要入门 Python 的资料,还有小伙伴完全没有入门 Python 就直接购买了我的 pandas 专栏。因此我决定写几篇 Python 数据处理分析必备的入门知识系列文章,以帮助有需要的小伙伴们更好入门。
前言
上一节我们学习了元祖,也说到了元祖因为不可变,从而说他是最简单又安全的集合。
集合就像一个能存放东西的储物柜,很多时候我们希望随时能往里面放入东西,这时候就需要使用列表 —— list
生成
列表与元祖差不多,都可以直接从代码生成。
生成一个包含数字的列表:
当然也可以定义字符串的列表:
列表中的每个元素都可以是任何的类型,并且他们之间可以不一致:
> 注意,尽可能不要用列表存放不同类型的元素。因为通常情况下,后续要对这个列表进行批量操作,如果类型不一样,一般很难进行统一处理。
选取元素
列表的选取与元祖是一样的,所以建议你直接看看本系列上一节内容。
这里简单列举几个例子。
从其他集合转为list
但我们不可能都是直接在代码中指定列表的元素。
比如,用户输入了一个文本 —— 由多个名字用逗号分隔的文本:
我们还可以把一个元祖转为一个列表:
但这有啥用呢?因为下面我们将使用列表新增元素
新增元素
我们可以随时随地往列表中加入元素:
如果现在我不是要添加一个元素,而是添加一系列元素(本身也是一个列表),是不是只能通过循环来完成?
Python 早就考虑到这种情况:
extend 方法接收的参数不一定非要是列表的,可以是任意集合(只要可以遍历):
你会发现,append 方法只能把元素添加到尾部。列表还有一个方法可以让你把新元素插入到列表指定位置上:
移除元素
列表还可以移除里面的元素:
那么,如果列表中有多个重复的元素,会怎样:
那到底怎么可以把所有的2去掉呀?!
这时候,可能使用推导式是更好的选择:
列表还有一种形式可以移除元素,他是按位置"弹出"一个元素:
当然也可以指定任意位置的索引值:
- 行2:把索引值2的元素(第3个元素)移除
总结
生成列表的方式:
列表操作