Fork me on GitHub

学习python -- 第007天 列表(二)

列表(二)

列表元素的增删改排操作

列表元素的增加操作

 

 

 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)

 

posted @ 2021-03-10 21:50  走位,走位  阅读(50)  评论(0编辑  收藏  举报