内容导读
- 列表的创建
- 列表的基本操作
一 列表的创建
name_list = ['alex', 'seven', 'eric'] #直接通过大括号创建
name_list = list(['alex', 'seven', 'eric']) # 通过list() 内置函数创建
a = list(range(200) #直接创建0到199 的列表
二 列表的基本操作
-
切片
name =slice(2,4) # >> s[2:4] == s[name] #代码中如果出现大量的硬编码下标值会使得可读性和可维护性大大降低,所有以此来解决 print(list[0-2]) #>>>c 注意:此处0-2是减法运算,结果为-2 print(list[0:2]) # >>>['a', 'b'] 注意:此处2是去不到的,实质是取 0,1 print(list[-1:-5]) #>>>[ ] 注意:不能从右往左切 print(list[-5:-1]) #>>>['a', 'b', 'c'] print(list[-6:-1]) # >>>['a', 'b', 'c'] print(list[-5:]) #>>>['a', 'b', 'c', 'b'] print(list[0:5:2]) # >>>['a', 'c'] 注意:此处2为步长
-
增加
list.append("s") #追加 list.insert(0,"ss") #插入, 在0处插入“ss”
-
删除
li = list.pop() #删除并获取最后一个元素 li = list.pop(local) #删除并获取指定位置的元素 #不知道值,知道位置 list.remove("a") # 移除指定元素,(有多个此元素时,只删除第一个) #不知道位置,但是知道元素的值 del list[1:2] # 批量删除 del list[1] # 删除指定位置的元素
-
修改
list[2] = "aa" list[2:5] = "aaa" #>> > ['a', 'b', 'a', 'a', 'a'] list[2:5] = "aaa", 12, 13 #>> > ['a', 'b', 'aaa', 12, 13]
-
查询
print(list.index("a")) # 查询字符'a'的个数,"a"不存在报错 print(list.count("a")) # 查询字符'a'的个数,"a"不存在返回0
-
深浅拷贝
# 浅拷贝 list2 = list.copy() == list2 = list[ : ] #复制成一个独立的列表,列表内存地址不同,但列表内的数据的地址是相同的, 区分于 list2 = list list = [1,2,3,[5,6] # list2 =list.copy() 修改[5,6]的值,两个list的值都会改变 id(list) #查看内存地址 # 深拷贝 import copy list2 =copy.deepcopy(list) # list与list2全无瓜葛
-
排序
reverse() #反转列表 list.sort() #永久性的排序 注意 : 字符和数字不能混排,字母和符号按ASCII排 list.sort(reverse=True ) #反向排序 sorted(list,reverse = True) #临时性的排序(可反向),如需永久,需要赋值
-
枚举
for i in enumerate(list): print(i) for index,i in enumerate(list) #结果没有括号
-
长度,包含,循环,清空
len(list) #长度 for i in list: #循环 a in list: # 包含 list.clear() # 清空