本篇介绍可变序列。列表是python中最重要的数据类型,很多操作都借助列表来完成,因此,必须熟悉对列表的操作技巧。
列表的创建
在python中,可以用中括号来创建一个空列表。
a_list = []
列表的操作
下面依然从增删改查四个方面对列表的操作进行介绍
增
列表有两种方法来增加元素,分别为append()以及insert()
其中,append()只能在列表的末尾增加元素
而insert()则能够指明插入的元素以及插入的位置。
例如:
# region 增
example_list = [1, 2, 3, 4]
a_element = 5
# 在列表末尾增加一个元素
example_list.append(a_element)
a_insert = 4
# 在列表索引为3处插入一个元素
example_list.insert(3, a_insert)
# endregion
删
想要删除列表中的某个元素,可以使用del来实现。如果只是想删除列表的最后一个元素,那么可用pop()方法实现。
例如:
del example_list[1]
example_list.pop()
print(example_list) # 输出[1, 3, 4, 4]
改
想要修改列表中的某个元素,只需进行赋值操作即可
例如:
# 修改列表中的第2个元素,将其修改为6
example_list[1] = 6
查
这里需要注意一下,列表是可变的有序序列,所以访问列表元素的位置用到的索引跟字符串也是一样的,切片操作等也相同,
同样,列表中可以用 in以及not in 来判断元素是否在列表中,
用index来寻找某个元素首次出现的位置
如有疑问请再回顾字符串介绍中的相关内容,此处不再赘述。
python光速入门教程_3 不可变序列_只道平常的博客-CSDN博客
拓展
开头说了,列表是很重要的数据类型,因此
这里再延伸讲一下列表的其他操作
1. 列表包含的元素类型是可以不同的,上面举例时,列表的元素为数字,实际上,不仅数字,字符串,元组,列表,都可以放到列表中去,这就大大提升了列表的可延展性。
例如:
# region 创建一个包含多种数据类型的列表
multi_list = [1, 'a', (1, 2, 3), [1, 2, 'a']]
print(multi_list)
# endregion
2. 列表可以作为一个可迭代的数据类型应用与for循环中,还可以配合enumerate()函数同时得到下标以及元素的值。这一点是非常重要的,在实际编程时应用广泛。
例如:
# 遍历访问列表中各个元素的下标和值
for i, val in enumerate(multi_list):
print(i, val)
3. 列表排序可以通过sort()进行排序(此时列表中的元素必须是可比较的)
例如:
un_sort_list = [1, 5, 8, 4, 12]
un_sort_list.sort()
print(un_sort_list) # 输出[1, 4, 5, 8, 12]
在这里需要特别指明,由于列表是可变序列,因此,对列表的操作并不会使其id改变,即操作前后的列表在内存中的位置没有发生改变(在字符串中是会变的,详见上文链接)
例如:
# 查看操作前后,列表的id是否变化
example_list = [1, 2, 3, 4]
print(id(example_list))
example_list[1] = 6
print(id(example_list))