list列表常用的方法(python)
1. 添加元素
在末尾追加单个元素
list.append(obj)
在指定索引位置前插入元素
list.insert(idx, obj)
list_b = [1,34,65,76,23,54,90,12,21,54] print(list_b) # 列表的常见方法: # append() 在列表的尾部追加元素 list_b.append(190) print(list_b) # insert() 在指定索引之前,插入该元素 list_b.insert(2,17) print(list_b)2. 删除元素
删除指定索引位置元素(默认删除末尾
list.pop(idx)
移除第一个匹配到的值
list.remove(val)
list_b = [1,34,65,76,23,54,90,12,21,54] print(list_b) # remove() 移除列表中第一个匹配到的值 list_b.remove(54) print(list_b) # pop() 删除列表中指定索引位置的元素(如果未指定索引,默认删最后一个) list_b.pop(2) print(list_b) list_b.pop() # 未指定,默认删除最后一个 print(list_b)3. 排序与反转
原地从小到大排序(类型需一致
list.sort()
原地反转列表顺序
list.reverse()
list_b = [1,34,65,76,23,54,90,12,21,54] print(list_b) # sort() 对列表进行排序(列表元素的数据类型一致,才可以进行排序) list_b.sort() # 从大到小排序 print(list_b) # reverse() 反转列表元素 list_b.reverse() print(list_b)案例:
1.将用户输入的3个数字,存储到一个列表中,并将列表中的数字进行排序,输出其中的最小值、最大值和平均值
list_c = [] for num in range(1,4): print(f"这是你第{num}次输入,还会输入{4-num}次") number = int(input("请你输入数字:")) list_c.append(number) # append() 在列表的尾部追加元素 list_c.sort() min_num = list_c[0] print(f"该列表最小值为:{min_num}") max_num = list_c[-1] print(f"该列表最大值为:{max_num}") total = 0 for number in list_c: total += number average = total / 3 print(f"平均值为{average}")2.定义一个新的列表,用来存储去重后的元素
快速合并方法
# 1.使用+运算符直接合并 list_new = list_num1 + list_num2 #2.使用*进行解包操作(解包指将列表这一类数据容器解开成独立的元素) # list_new = [*list_num1, *list_num2] print(list_new) # 去重 list_new = [] for num in list_num2: is_repeat = False # 假设当前元素不重复 for num_new in list_new: if num == num_new: # 找到重复了 is_repeat = True break if not is_repeat: # 没有重复才添加 list_new.append(num) print(list_new)3.生成1-20的平方列表
# 方法一: list_new = [] for num in range(1,21): number = num ** 2 list_new.append(number) print(list_new) # 方法二: # 列表推导式 --- >按照一定的规则快速生成一个列表的方法 -- >语法格式1:[要插入的值 for i in 序列/列表] list_n = [num ** 2 for num in range(1,21)] print(list_n)4.从如下数字列表中提取所有偶数,并计算其平方,组成一个新的列表。
num_list = [19, 23, 54, 64, 87, 20, 109, 232, 123, 43, 26, 55, 72] # 方法一: num_list = [19, 23, 54, 64, 87, 20, 109, 232, 123, 43, 26, 55, 72] n = [] for num in num_list: if num % 2 == 0: number = num ** 2 n.append(number) print(n) # 方法二: num_list1 = [19, 23, 54, 64, 87, 20, 109, 232, 123, 43, 26, 55, 72] # 列表推导式 --- >按照一定的规则快速生成一个列表的方法 -- >语法格式2:[要插入的值 for i in 序列/列表 if语句] n1 = [ num ** 2 for num in num_list1 if num % 2 == 0] print(n1)