一、普通列表创建
1.1 普通列表创建
# 1. 普通列表创建 a = [] a.append(20) print(a)
1.2 range() 创建整数列表
b = list("chushujin") print(b) c = list(range(10)) print(type(c)) print(c)
1.3 推导式列表创建
# 3. 推导式的创建列表 # for循环生成列表 d = [x*2 for x in range(5)] print(d) # [0, 2, 4, 6, 8] # 通过if过滤元素 e = [x for x in range(100) if x % 9 ==0] print(e) # [0, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99]
二、列表的操作方法
1.1列表的增加
# 2.1 append() 在尾部添加元素,不产生新的对象 a = [10,50,30,100] print(id(a)) a.append(200) print(a) print(id(a))
1.1.2 +运算符添加元素,产生新的对象
# 4.2 +运算符添加元素,产生新的对象 a = a + [300] print(a) print(id(a))
1.1.3 extend()方法,常用于两个列表的结合,不会产生新的对象
# 2.3 extend()方法,常用于两个列表的结合,不会产生新的对象 a.extend([400,500]) print(a) print(id(a))
1.1.4 insert()方法
# 2.4 insert()方法,指定位置插入对应的元素,插入位置之后的元素会进行移动,影响处理速度,涉及大量元素时,避免使用,类似这种移动的函数还有 # remove(),pop(),del()他们在删除非尾部元素时候也会发生操作位置后的元素移动 print(a) print(id(a)) a.insert(2,1000) print(a) print(id(a))
1.1.5 乘法扩展
# 2.5 乘法扩展 b = [66.77,88] print(b*3) # [66.77, 88, 66.77, 88, 66.77, 88]
2.1 列表的删除
2.1.1 del()
A = [10,20,666,30,50] del A[2] print(A) # [10, 20, 30, 50]
2.1.2 pop()
B = [11,21,31,44,51] print(B.pop(3)) print(B)
""" 44 [11, 21, 31, 51] """
2.1.3 remove(),删除第一个出现的元素
remove(),删除第一个出现的元素 C = [100,200,555,"chu",300,"chu",400,"chu"] C.remove("chu") print(C) # [100, 200, 555, 300, 'chu', 400, 'chu']
3.1 列表元素的访问和计数
3.1.1 通过索引访问
D = [11,22,33,44,55,66,77,55,88,55,99] 通过索引访问 print(D[3])
3.1.2 index(value,[start,[end]])获得指定元素在列表中首次出现的索引
index(value,[start,[end]])获得指定元素在列表中首次出现的索引 print(D.index(55)) print(D.index(55,5))
3.1.3 count()获得指定元素在列表中出现的次数
count()获得指定元素在列表中出现的次数 print(D.count(55))
3.1.4 len()返回列表的长度,即列表中包含元素的个数
len()返回列表的长度,即列表中包含元素的个数 print(len(D))
3.1.5 成员资格的判断:in 返回True或False判断 count()判断,等于0不存在,大于0存在
成员资格的判断:in 返回True或False判断 count()判断,等于0不存在,大于0存在 print("a" in D) print(D.count("a")) # =0不存在 print(D.count(55)) # 大于0存在
3.1.6 切片
# 切片 E = [10,20,30,40,50,60,70] print(E[:]) print(E[1::2]) print(E[1:]) print(E[:2]) print(E[::-1]) # 反向提取 print(E[-3:])
输出
""" [10, 20, 30, 40, 50, 60, 70] [20, 40, 60] [20, 30, 40, 50, 60, 70] [10, 20] [70, 60, 50, 40, 30, 20, 10] [50, 60, 70] """
4.1 列表的排序
sort()列表排序,修改原列表,不新生成新列表
F = [10,30,22,26,50,34] # sort()列表排序,修改原列表,不新生成新列表 print(id(F)) F.sort() # 默认升序排列 print(F) print(id(F)) F.sort(reverse=True) # 降序排列 print(F)
4.1.1 随机排序
import random random.shuffle(F) print(F) print(id(F))
4.2.1 sorted() 建立新的列表,修改列表
# sorted() 建立新的列表,修改列表 G = [10,30,22,26,50,34] G1 = sorted(G) print(G1) print(id(G1))
输出:
""" 4490685768 [10, 22, 26, 30, 34, 50] 4490685768 [50, 34, 30, 26, 22, 10] [10, 22, 30, 50, 34, 26] 4490685768 [10, 22, 26, 30, 34, 50] 4490743880 <list_reverseiterator object at 0x108749f60> [50, 34, 30, 26, 22, 10] [] """
5.1 min()取出最小值,max()取出最大值,sum()列表求和
min()取出最小值,max()取出最大值,sum()列表求和 print(min(G1)) print(max(G1)) print(sum(G1)) 输出: """ 10 50 172 """