列表
列表的特点
列表是python中最常用的序列,列表具有以下特点:
1.列表中的元素可以是任意值,元素可以重复。
2.列表可以更改长度。
3.列表中的元素是有序的。
序列操作(列表是一种序列,他支持所有的在字符串中的序列操作)
1.检验列表的长度len()
示例代码;
a=[12,34,56,'rt',12,34] print(len(a))
2.列表的索引list[下标]
3.列表的切片list[开始下标:结束下标]
4.列表相加
代码示例
a=[12,34,56,'rt',12,34] _a=a[2] print(_a) _b=a[-1] print(_b) _c=a[:-3] print(_c) _d=a[:-1] print(_d) c=a+[12,45,78,34]
输出结果:
56
34
[12, 34, 56]
[12, 34, 56, 'rt', 12]
[12, 34, 56, 'rt', 12, 34, 12, 45, 78, 34]
类型特定操作
1.列表元素的增加
- 第一种:列表.append(添加元素)【元素只能添加在列表最后】
- 第二种: 列表.insert(添加的下标,添加的元素)【可以选择添加的位置】
-
第三种: 接受列表.extend()【extend() 将一个列表中每个元素分别添加到另一个列表中,只接受一个参数;extend()相当于是将list B 连接到list A上。】
-
第四种: 即两个列表相加。
示例代码:
list=[12,32,45,12,'45'] list.append(12) print(list) list.insert(1,34) print(list) list.extend([22,'rt',34,56]) print(list) a=list+[45,'34'] print(a)
输出结果:
[12, 32, 45, 12, '45', 12]
[12, 34, 32, 45, 12, '45', 12]
[12, 34, 32, 45, 12, '45', 12, 22, 'rt', 34, 56]
[12, 34, 32, 45, 12, '45', 12, 22, 'rt', 34, 56, 45, '34']
2.列表元素的移除
- 第一种:list.pop()【删除的总是最后一个元素】
- 第二种:list.remove(对象元素)【根据值删除元素】
- 第三种:del list[对象元素]【根据下表删除元素】
示例代码:
a=[12,34,56,76,'45'] del a[1] print(a) a.pop() print(a) a.remove(76) print(a)
输出结果:
[12, 56, 76, '45']
[12, 56, 76]
[12, 56]
3.元素的降序,升序
- 升序:list.sort()
- 降序:list.reverse()
示例代码:
a=['d','b','c'] a.sort() print(a) a.reverse() print(a)
输出结果:
['b', 'c', 'd']
['d', 'c', 'b']
4.列表的边界检查
当检索的元素下标超出列表范围时,开发环境会出现报错。
5.嵌套
python的可变性和元素的任意性让其可以更大的实现嵌套,这种特性的一个直接应用就是实现矩阵,或者python中的多维数组
代码示例:
list=[[1,2,3],[1,2,21],[34,56,21]] a=list[0][1] print(a) list.append(3) print(list) list.insert(1,12) print(list) del list[1] print(list)
输出结果:
2
[[1, 2, 3], [1, 2, 21], [34, 56, 21], 3]
[[1, 2, 3], 12, [1, 2, 21], [34, 56, 21], 3]
[[1, 2, 3], [1, 2, 21], [34, 56, 21], 3]
列表解析
列表解析用于简单的矩阵计算
代码示例:
list=[[1,2,3],[1,2,21],[34,56,21]] list1=[row[1] for row in list] print(list1) list2=[row[1]+1 for row in list] print(list2) list3=[row[1] for row in list if row[1]%2==0 ] print(list3)
输出结果:
[2, 2, 56]
[3, 3, 57]
[2, 2, 56]