列表(二)
列表元素的增删改排操作
列表元素的增加操作
1 # 2 # @author:浊浪 3 # @time: 2021/3/10 16:13 4 # 向列表末尾增加元素 5 lst = [10, 20, 30] 6 print('添加元素前:', id(lst)) 7 lst.append(100) 8 print('添加元素前:', id(lst)) 9 10 # 在列表末尾至少添加一个元素 11 lst2 = ['hello', 'wo'] 12 # lst.append(lst2) #将lst2作为一个元素添加到lst的末尾 13 lst.extend(lst2) # 向末尾添加多个元素 14 print(lst) 15 16 17 # 在任意位置上添加一个元素 18 lst.insert(1,90) 19 print(lst) 20 21 # 在任意位置上添加多个元素 22 lst3 = [True, False, 'nnn'] 23 lst[1:4:] = lst3 24 print(lst) #注意这里是切片了,起始到结束的元素的都会被丢掉
列表元素的删除操作
1 # 2 # @author:浊浪 3 # @time: 2021/3/10 16:28 4 # remove() 5 lst = [10, 20, 30, 40, 50, 60, 70, 30] 6 lst.remove(30) #重复元素只移除第一个 7 # lst.remove(100) #ValueError: list.remove(x): x not in list 8 print(lst) 9 10 # pop()根据索引移除 11 lst.pop(1) 12 print(lst) 13 # lst.pop(10) #IndexError: pop index out of range 14 lst.pop() #如果不指定参数(索引)则移除最后一个元素 15 print(lst) 16 17 print('----------------切片操作,产生一个新的列表-----------------') 18 new_lst =lst[1:3] 19 print('原列表:', lst) 20 print('切出来的列表:', new_lst) 21 22 '''如果想要一个原列表,即删除元素后的列表''' 23 lst[1:3] = [] # 弹幕解释:这里其实是把一个空列表替换掉了[1,3)的元素 24 print(lst) 25 26 lst.clear() #清空所有元素 27 print(lst) 28 del lst #删除列表 29 # print(lst) #NameError: name 'lst' is not defined
列表元素的修改操作
1 # 2 # @author:浊浪 3 # @time: 2021/3/10 21:29 4 5 lst = [1, 2, 3, 4, 5, 6, 7] 6 # 一次修改一个元素 7 lst[1] = 100 8 print(lst) 9 10 # 一次修改多个元素,即切片 11 lst[2:4] = [3487, 3489, 38479, 54896, 49587] 12 print(lst)
列表元素的排序操作
1 # 2 # @author:浊浪 3 # @time: 2021/3/10 21:35 4 5 lst = [19, 74, 5498, 498, 29, 409] 6 print('原列表:', lst, id(lst)) 7 8 # 使用sort排序 9 lst.sort() 10 print('排序后列表:', lst, id(lst)) #结论即是还是同一个列表 11 12 # 通过指定关键字,进行降序排序 13 lst.sort(reverse=True) 14 print('排序后列表:', lst, id(lst)) #结论即是还是同一个列表 15 16 '''使用内置函数sorted排序,将会产生一个新的列表''' 17 lst1 = [19, 74, 5498, 498, 29, 409] 18 new_lst = sorted(lst) 19 print(new_lst) 20 new_lst = sorted(lst, reverse=True) 21 print(new_lst)
列表生成式
1 # 2 # @author:浊浪 3 # @time: 2021/3/10 21:44 4 5 lst = [i for i in range(10)] 6 print(lst) 7 8 '''产生一个2,4,6,8,10的列表''' 9 lst1 = [i * 2 for i in range(1, 6)] 10 print(lst1) 11 lst2 = [i for i in range(2, 11, 2)] 12 print(lst2)