列表的相关操作
列表的数学运算
-
列表1 + 列表2 合并列表1、列表2元素并生成一个新列表
-
列表 * 正整数 / 正整数 * 列表 N个列表相加
list1 = [1,2,3,4]
list2 = [5,6,7]
print(list1 + list2)
print(list1 * 3)
#显示内容
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
列表的比较运算
-
列表1 == 列表2 比较两个列表是否相等
-
列表1 is 列表2 比较两个列表地址是否相等
-
列表1 < 列表2 依次比较两个列表元素内大小
list2 = [5,6,7]
list3 = [5,6,7]
print(list2 == list3)
print(list2 is list3)
#显示内容
True
False
相关函数
- max(列表) 求列表中最大值
- min(列表) 求列表中最小值
- 列表元素必须一致,且支持比较运算
list4 = [1,2,3,4,5,6]
print(max(list4))
print(min(list4))
#显示内容
6
1
- sorted 将列表从小到大排序,产生一个新的列表
- sorted(列表, reverse = True) 从大到小排序,产生一个新的列表
- 列表.sort() 将列表从小到大排序,不产生一个新的列表
- 列表.sort(reverse = True) 从大到小排序,不产生一个新的列表
- 列表元素必须一致,且支持比较运算
list5 = [2,6,5,4,1,3]
print(sorted(list5))
print(sorted(list5,reverse=True))
#显示内容
[1, 2, 3, 4, 5, 6]
[6, 5, 4, 3, 2, 1]
- reversed(列表) 将列表反序并产生新的序列
- reverse(列表) 将原列表元素反序
new_list = reversed(list5)
print(list(new_list))
#显示内容
[3, 1, 4, 5, 6, 2]
- sum(列表) 返回列表所有元素的和
- 序列中的元素必须全部是数字
print(sum(list5))
print(sum(range(1,101)))
#显示内容
21
5050
- list(数据) 将数据转换为列表
- 所有容器型数据类型都可以转换为列表,数字和布尔为非容器型数据
print(list(range(1,5)))
#显示内容
[1, 2, 3, 4]
列表的相关方法
clear
list1 = [1,2,3,4,5,6]
list1.clear()
print(list1)
#显示内容
[]
list1 = [1,2,3,4,5,6]
list2 = list1.copy()
print(list2)
#显示内容
[1, 2, 3, 4, 5, 6]
- 列表.count(元素) 统计指定元素在列表中出现的次数
list1 = [1,2,3,4,5,6,1]
list.count(1)
#显示内容
2
- 列表.extend(序列) 将序列中的元素添加到列表中但不产生新列表
list1 = [1,2,3,4,5,6]
list2 = [7,8,9]
list1.extend(list2)
print(list1)
#显示内容
[1, 2, 3, 4, 5, 6, 7, 8, 9]
- 列表.index(元素) 获取指定元素在整个列表中的下标,若列表无该元素,则报错;若同时存在多个该元素,则返回前面那一个的下标
- 列表.index(元素,开始下标,结束下标) 获取指定元素在指定列表中的下标,若列表无该元素,则报错;若同时存在多个该元素,则返回前面那一个的下标
list1 = [1,2,3,4,5,6]
print(list1.index(2))
#显示内容
1
列表的推导式
语法一:
[表达式 for 变量 in 序列]
list1 = [x for x in range(4)]
print(list1)
#显示内容
[0, 1, 2, 3]
语法二:
[表达式 for 变量 in 序列 if 条件语句]
list2 = [x for x in range(5) if x % 2 == 0]
print(list2)
#显示内容
[0, 2, 4]
语法三:
[表达式 for 变量1 in 序列1 for 变量2 in 序列2]
list3 = [x * y for x in range(4) for y in range(3)]
print(list3)
#显示内容
[0, 0, 0, 0, 1, 2, 0, 2, 4, 0, 3, 6]
语法四:
[表达式 for 变量1 in 序列1 for 变量2 in 序列2 if 条件语句]
list4 = [x + y for x in range(4) if x % 2 for y in range(4)]
print(list4)
#显示内容
[1, 2, 3, 4, 3, 4, 5, 6]