随着数据越来越丰富,几十万、几百万甚至上亿的数据就会出现,而对这么大堆数据进行搜索、插入或者排序等的操作就越来越慢,数据结构就是用来解决这些问题的。
简单来说,数据结构是指特定关系的数据元素的集合。在Python语言,常用的数据结构有列表、元组、集合和字典4种数据结构类型。
6.1 列表
列表(list)是Python内置的,可以保存任何数据类型,最常用的基本数据结构。它是可改变的序列,它的元素可进行增删改。
除了内置的函数进行操作外,还可以通过索引(从0开始)的方式进行。列表是有序的,可对其元素进行排序、比较等操作。
1. 列表声明
列表可通过中括号[]或list()进行声明。里面没有元素时,为空列表。列表元素可以同时存在不同的数据类型。
# 用[]声明一个空列表ls = []print(type(ls), ls)# 用list()声明一个空列表ls = list()print(type(ls), ls)# 支持不同数据类型lst = ["历史", 100, 25.68]print(lst)# list内容ls = list(["test", 15.21, 520])print(ls)
输出结果
[] []['历史', 100, 25.68]['test', 15.21, 520]
2. 新增对象
通过append(obj)方法添加新的对象,insert(index, obj) 方法在指定位置将对象插入列表。
ls = ["I", "love", "Python"]# 在指定位置插入一个对象ls.insert(3, "and Java")# 添加一个对象ls.append(".")print(ls)
输出结果
['I', 'love', 'Python', 'and Java', '.']
通过extend(seq)方法在列表末尾一次性追加另一个序列中的多个值。通过+号可将两个列表进行拼接。
# 将ls2附加到ls1后面ls1 = [1, 2, 3]ls2 = [4, 5, 6]ls1.extend(ls2)print(ls1)
输出结果
[1, 2, 3, 4, 5, 6]
通过+号可将两个列表进行拼接。
# 通过+号进行拼接ls3 = [1, 3]ls4 = [1, 4]ls3 = ls3 + ls4print(ls3)
输出结果
[1, 3, 1, 4]
3. 删除
通过pop(n) 删除指定下标对应的元素 。如指定的下标n不存在,会报下标越界错误。第1个元素下标为0,最后一个为-1。不指定下标值时,会默认删除最后一个元素。成功删除,会返回元素值。
# 删除第一个元素ls = ["Android", "iOS", "Python", "C#"]ls.pop(0)print(ls)# 删除最后一个元素ls.pop()print(ls)v = ls.pop(-1)print(v)
输出结果
['iOS', 'Python', 'C#']['iOS', 'Python']Python
remove(x