列表即为一维数组,类似于matlab中的一维矩阵。
1. 列表的初始化
a = [3,1,5,4,2]
b = list([7,8,6])
print(a)
print(b)
Out:
[3, 1, 5, 4, 2]
[7, 8, 6]
2. 列表的截取
列表中的索引表示元素在列表中的位置,从第0位开始,a[0]表示列表a中的第一个元素,a[1]表示列表a中的第2个元素……a[-1]表示列表中的最后1个元素。
a = [3,1,5,4,2]
a1 = a[0]
a2 = a[-1]
print(a1)
print(a2)
Out:
3
2
列表中的元素也可以连续选取多个,如a[1,4],表示列表a中第2-4个元素。这里的[1,4]是左闭右开区间。
a = [3,1,5,4,2]
a1 = a[1:4] # 左开右闭区间,选取列表a中索引为1至3的元素
print(a1)
Out:
[1, 5, 4]
3. 列表中元素的搜索
index用于获取列表中指定元素的索引。若元素在列表中出现多次,则返回第1个索引。
a = [3,1,5,4,2,5,7,6]
i1 = a.index(5) # 获取元素5在列表a中的索引
i2 = a.index(5,3,-1) # 在a[3,-1]的区间内获取元素5的索引
print(i1)
print(i2)
Out:
2
5
count用于获取列表中指定元素出现的次数。
a = [3,1,5,4,2,5,7,6]
c = a.count(5) # 元素5在列表a中出现的次数
print(c)
Out:
2
4. 列表信息的获取
len用于获取列表的长度,即列表中元素的个数。
a = [3,1,5,4,2,5,7,6]
length = len(a)
print(length)
Out:
8
5. 列表的基本操作
(1)追加元素
append用于追加一个元素。
extend用于在后面接上一个列表。
a = [3,1,5,4,2]
# 追加单个元素
a1 = a
a1.append(6)
print(a1)
# 追加一个列表(多个元素)
a2 = a
a2.extend([1,2,3])
print(a2)
Out:
[3, 1, 5, 4, 2, 6]
[3, 1, 5, 4, 2, 6, 1, 2, 3]
(2)插入元素
insert用于在列表中的指定位置插入元素。
a = [3,1,5,4,2]
a.insert(1,9) # 在列表a中索引为1的地方插入元素9
print(a)
Out:
[3, 9, 1, 5, 4, 2]
(3)删除元素
pop用于删除指定索引的元素。
remove用于删除列表中最靠前的指定的元素。
a = [3,1,5,4,2,3,6]
a1 = a
a1.pop(3) # 删除索引为3的元素
print(a1)
a2 = a
a2.remove(3) # 删除最靠前的元素3
print(a2)
Out:
[3, 1, 5, 2, 3, 6]
[1, 5, 2, 3, 6]
(4)更改元素
list1[i1:i2] = list2。用另外一个列表替代列表中指定位置的元素。注意替代列表的元素个数可以不等于原列表中指定区间的元素个数。
a = [3,1,5,4,2,5,7,6]
a1 = a
a1[1] = 7
print(a1)
a2 = a
a2[1:4] = [11,12,13]
print(a2)
a3 = a
a3[1:4] = [11,12,13,14]
print(a3)
Out:
[3, 7, 5, 4, 2, 5, 7, 6]
[3, 11, 12, 13, 2, 5, 7, 6]
[3, 11, 12, 13, 14, 2, 5, 7, 6]
(5)排序
sort用于将列表中的元素由低到高进行排序,同时会改变列表。
sorted用于将列表中的元素由低到高进行排序,不会改变原先的列表。
a = [3,1,5,4,2,5,7,6]
a1 = a
a1.sort() # 正序排列,改变原有列表
print(a1)
a2 = a
a2.sort(reverse=True) # 倒序排列,改变原有列表
print(a2)
a3 = sorted(a) # 正序排列,不改变原有列表
print(a3)
a4 = sorted(a,reverse=True) # 倒序排列,不改变原有列表
print(a4)
Out:
[1, 2, 3, 4, 5, 5, 6, 7]
[7, 6, 5, 5, 4, 3, 2, 1]
[1, 2, 3, 4, 5, 5, 6, 7]
[7, 6, 5, 5, 4, 3, 2, 1]
reverse用于将列表中的元素反转,同时会改变列表。
a = [3,1,5,4,2,5,7,6]
a.reverse()
print(a)
Out:
[6, 7, 5, 2, 4, 5, 1, 3]