- 列表1 + 列表2
验证:
num1 = [1, 2] num2 = [3, 4] print(num1 + num2)
验证结果:
- 列表 * N 或 N * 列表
验证:
num = [1, 2] print(num * 2)
验证结果:
1.2 比较运算符- 列表1 == 列表2 或 列表1 != 列表2
验证:
num1 = [1, 2] num2 = [3, 4] print(num1 == num2)
验证结果:
- 列表1 > 、< 、>=、<= 列表2
验证:
num1 = [1, 2, 3] num2 = [3, 4] num3 = [1, 0, 3] print(num1 > num2) print(num1 > num3)
验证结果:
***注:***列表不能与其他类型数据比较
1.3 in 和 not in元素 in 列表
元素 not in 列表
验证:
num = [1, 2] print(1 in num) print(2 not in num) print(1 not in num)
验证结果:
2. 列表相关函数 2.1 max 和 min-
max(序列)
-
min(序列)
验证:
scores = [90, 89, 23, 67, 99, 96, 56, 78, 91, 45] print(max(scores)) print(min(scores))
验证结果:
***注:***序列中的元素之间必须支持比较大小的操作,否则会报错。
- 不用 max 和 min 函数求最大值和最小值
scores = [90, 89, 23, 67, 99, 96, 56, 78, 91, 45]
a = scores[0] # 假设第一个值最大
b = scores[0] # 假设第一个值最小
for x in scores[1:]: # 列表里第一个值不用跟自己进行比较,从第二项开始(切片)
if x > a: # 当遍历列表的值比 a 大
a = x # 将比 a 大的值赋值给 a
elif x < b: # 当遍历列表的值比 b 小
b = x # 将比 b 小的值赋值给 b
print(a, b) # 输出最值
验证结果:
2.2 sum 函数- sum(数字序列)
验证:
scores = [90, 89, 23, 67, 99, 96, 56, 78, 91, 45] print(sum(scores2))
验证结果:
***注:***序列必须是数字序列,即序列中的元素都为数值。
2.3 sorted 函数- sorted(序列)
- sorted(序列,reverse=True)
***注:***序列里的元素之间能够比较大小且类型一致才能排序
验证:
scores = [90, 89, 23, 67, 99, 96, 56, 78, 91, 45] new_scores = sorted(scores) new_scores2 = sorted(scores,reverse=True) print(scores2) print(new_scores) print(new_scores2)
验证结果:
2.4 len 函数- len(序列)
- list(数据)
***注:***所有的序列可以转换成列表,将序列中的元素作为列表中的元素,并创建列表;
2.6 enumerate 函数for 变量1, 变量2 in enumerate(列表)
-
变量1是元素的下标;
-
变量2是每个元素。
验证:
num = [10, 20, 30] for x, y in enumerate(num): print(x, y)
验证结果:
3. 相关方法-
append
语法:列表.append()
-
clear
语法:列表.clear()
-
remove
语法:列表.remove()
-
copy
语法:列表.copy()
注:
- 如果直接用一个变量给另一个变量赋值,赋的是内存地址。赋值后两个变量关联的是同一个数据。
- 列表[ : ] 、列表*1 、列表+[] 的功能和 列表.copy() 的功能一样
验证:
list1 = [10, 20] list2 = list1 list3 = list.copy list1.append(10) print(list1, list2, list3) print(id(list1), id(list1), id(list1))
验证结果:
-
count
语法:列表.count(元素)
-
extend
语法:列表.extend(序列)
-
index
语法:列表.index(元素)
注:
-
如果要查询的元素在列表中不存在,会报错;
-
如果要查询的元素在列表中存在多个,则获取最前面出现的元素下标值。
-
-
reverse
语法:列表.reverse()
-
sort
语法:列表.sort()
列表.sort(reverse=True)
注:
- sort 只能对列表进行升序操作;
- sort 直接修改原列表中元素的顺序,不产生新列表;
创建列表的快捷方式
-
语法1:[表达式 for 变量 in 序列]
***注:***表达式可以是任意有结果的表达式,不能是赋值语句。
验证:
list1 = [10 for x in range(3)] print(list1)
验证结果:
- 语法2:[表达式 for 变量 in 序列 if 条件语句]
验证:
nums = [1, 2, 3, 4, 5, 6] list1 = [x for x in nums if x % 2] print(list1)
验证结果:
-
语法3:[三目运算符 for 变量 in 序列]
三目运算符:语法 — 表达式1?值1 if 表达式 else 值2
验证:
nums = [20, 34, 33, 6, 15, 7, 20] nums2 = [x * 2 if x % 2 else x / 2 for x in nums]
验证结果:



