![](https://i-blog.csdnimg.cn/blog_migrate/e2abe372a9d25cb605920967c231e393.png)
列表是有序集合,没有固定大下,能够保存任意数量任意类型的python对象。
形式为中括号([a,b,c,d...])为边界,内部各元素由逗号分割。
2:创建列表
直接创建。
![](https://i-blog.csdnimg.cn/blog_migrate/6dd66c9d96f269336eea74fe68b1c1b5.png)
使用range()函数和list()函数配合创建。
![](https://i-blog.csdnimg.cn/blog_migrate/d6ae0b06e4f793acc32928b12e4331ad.png)
使用列表推导式创建。
![](https://i-blog.csdnimg.cn/blog_migrate/5192cdbd24aa66a241619f9e18c8021f.png)
混合列表创建。对应了列表元素为任意类型的特点。
![](https://i-blog.csdnimg.cn/blog_migrate/aa8cee3a42b0c60dea004741efad8110.png)
空列表创建。内部没有元素,即为空列表。
![](https://i-blog.csdnimg.cn/blog_migrate/fec7407217b6d011e58bc031d0272db1.png)
3:列表基本操作。
增删改查。无论是增、删、还是改。第一步都要先查到元素。
获取列表的元素。(查)
通过列表的索引值(下标)来获得列表的元素。索引值从0开始,倒数从-1开始。
![](https://i-blog.csdnimg.cn/blog_migrate/586a8bd718bec3009cdee3080959f5d4.png)
还可以一次提取几个元素。称为“切片”操作。
![](https://i-blog.csdnimg.cn/blog_migrate/4c8497a82886c24a32d00ba3570adf1c.png)
5种基本切片操作。
-
情况 1 - "start :"。 以 step 为 1 (默认) 从编号 start 往列表尾部切片。
-
情况 2 - ": stop"。 以 step 为 1 (默认) 从列表头部往编号 stop 切片。
-
情况 3 - "start : stop"。 以 step 为 1 (默认) 从编号 start 往编号 stop 切片。
-
情况 4 - "start : stop : step"。 以具体的 step 从编号 start 往编号 stop 切片。注意最后把 step 设为 -1,相当于将列表反向排列
-
情况 5 - " : "。 复制列表中的所有元素(浅拷贝)。
![](https://i-blog.csdnimg.cn/blog_migrate/e23e56e178a8cbad2eb33595214ff43f.png)
向列表中添加元素。(增)
常用的有三种:
-
list.append(obj)。在列表末尾增加新元素,只接受一个参数,可以是任何数据类型。
-
list.extend(seq)。在列表末尾追加另一个序列中的所有值,只接受一个参数,要是序列类型。
-
list.insert(index, obj) 。在index处插入object。接受两个参数,一个是位置,一个是插入对象。
![](https://i-blog.csdnimg.cn/blog_migrate/546ad6b01173a4e726ea2700a956a8db.png)
思维导图:
![](https://i-blog.csdnimg.cn/blog_migrate/546bb1abde49b80d7956d1db7f0c9b34.png)
常用的有三种。
-
list.remove(obj)。移出列表中的object。接受一个参数,为待移除对象。
![](https://i-blog.csdnimg.cn/blog_migrate/af61f1ec27abeac69fe318ca1f9515ce.png)
-
list.pop([index=-1])。移除列表中的元素,并返回元素的值。接受一个参数,为移除元素的下标。默认为-1
![](https://i-blog.csdnimg.cn/blog_migrate/8dc9a67eb1900265a1a0a9e74bf1dfca.png)
-
del var1[, var2 ……] 。删除一个或多个对象。
![](https://i-blog.csdnimg.cn/blog_migrate/08e34e5021e632f5ab6de9dc9047bd83.png)
4:列表的常用操作符。
-
等号操作符: ==。 「等号 ==」,只有成员、成员位置都相同时才返回True
-
连接操作符 +。 列表拼接有两种方式,用「加号 +」和「乘号 *」,前者首尾拼接,后者复制拼接。
-
重复操作符 *
-
成员关系操作符 in 、 not in
5:列表的一些常用方法。
list.count(obj)
统计某个元素在列表中出现的次数
![](https://i-blog.csdnimg.cn/blog_migrate/4fcc5c5b7718433a1c112e14dd1ba0b0.png)
list.index(x[, start[, end]])
从列表中找出某个值第一个匹配项的索引位置
![](https://i-blog.csdnimg.cn/blog_migrate/f09cca6ebba19a4acdc91f55fa938e98.png)
list.reverse()
反向列表中元素
![](https://i-blog.csdnimg.cn/blog_migrate/5078dd9337add52f1e27da4816b53af3.png)
list.sort(key=None, reverse=False)
对原列表进行排序。
![](https://i-blog.csdnimg.cn/blog_migrate/9ecd28fc87cef6d73332f21cb372cb92.png)
![](https://i-blog.csdnimg.cn/blog_migrate/369809a8fa8ee8014ed10462857d0763.png)