day7总结
一.列表的相关操作和相关函数
-
列表相关操作
-
数学运算符: + *
a. 列表1 + 列表2 - 将两个列表合并成一个新的列表
list1 = [10, 20, 30] list2 = [100, 200] result = list1 + list2 print(result) # [10, 20, 30, 100, 200]
b. 列表 * N、 N * 列表 - 将列表中的元素重复N产生一个新的列表
print(list1 * 3) # [10, 20, 30, 10, 20, 30, 10, 20, 30]
-
比较运算:>、<、>=、<=、 ==、!=
a. 比较相等:==、!=
list1 = [10, 20, 30] print(list1 == [10, 20, 30]) # True print(list1 == [20, 10, 30]) # False
b. 比较大小:>、<、>=、<=
两个列表比较大小,比较的是第一对不相等的元素的大小
list1 = [10, 20, 30] list2 = [1, 1000, 30000, 40000] print(list1 > list2) # True list1 = [1, 2, 3] list2 = [1, 2, 3, -4] print(list2 > list1) # True
-
in 和 not in
-
元素 in 列表 - 判断指定列表中是否存在指定元素
-
元素 not in 列表 - 判断指定列表中是否不存在指定元素
print(10 in [10, 20, 30]) # True print(100 not in [10, 20, 30]) # True print([10, 20] in [10, 20, 30]) # False print([10, 20] in [[10, 20], 30]) # True
-
-
练习:已知一个列表保存了多个学生的姓名,要求去掉列表中重复的名字
# 方法一: names = ['小明', '张三', '李四', '张三', '张三', '小明', '王五', '王五'] new_names = [] for name in names: if name not in new_names: new_names.append(name) print(new_names) # ['小明', '张三', '李四', '王五'] # 方法二: names = ['小明', '张三', '李四', '张三', '张三', '小明', '王五', '王五'] for _ in range(len(names)): x = names.pop() if x not in names: names.insert(0, x) print(names)
-
-
相关函数(系统函数): sum、max、min、len、sorted、list
-
sum(列表) - 求列表中所有元素的和(列表必须是数字列表)
scores = [18, 90, 67, 8, 82] print(sum(scores)) # 1+2+3+...+100 print(sum(range(1, 101)))
-
max(列表)/min(列表) - 求列表中所有元素的最大值/最小值
scores = [18, 90, 67, 8, 82] print(max(scores)) print(min(scores))
-
sorted() - 将列表中元素排序
sorted(列表) - 将列表中的元素从小到大排序,产生一个新的列表
sorted(列表, reverse=True) - 将列表中的元素从大到小排序,产生一个新的列表new_scores = sorted(scores) print(new_scores) # [8, 18, 67, 82, 90] scores = [18, 90, 67, 8, 82] new_scores = sorted(scores, reverse=True) print(new_scores) # [90, 82, 67, 18, 8]
-
-
list - 将其他数据转换成列表
list(数据) - 将指定数据转换成列表。(所有的序列都可以转换成列表;将其他序列转换成列表的时候直接将序列的元素作为列表的元素)
result = list('abc') print(result) # ['a', 'b', 'c'] result
-