切片
#names列表原始值如下:
names = ["zhangsan","lisi","wangwu","zhaoliu","aaa","bbb","123","456","!@#$",[123,"456",789]]
print("-------------------------切片------------------------------------")
print(names[:5]) #截取下标0-4的元素
print(names[-2:]) #截取最后两个元素
print(names[2:8:2]) #从第三个元素到第8个元素间隔取值,步长为2
print(names[::2]) #间隔取值,步长为2
print(names[::-1]) #反转列表,相当于names.reverse()
输出如下:
-------------------------切片------------------------------------
['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'aaa']
['!@#$', [123, '456', 789]]
['wangwu', 'aaa', '123']
['zhangsan', 'wangwu', 'aaa', '123', '!@#$']
[[123, '456', 789], '!@#$', '456', '123', 'bbb', 'aaa', 'zhaoliu', 'wangwu', 'lisi', 'zhangsan']
增删元素
#names列表原始值如下:
names = ["zhangsan","lisi","wangwu","zhaoliu","aaa","bbb","123","456","!@#$",[123,"456",789]]
print("-------------------------增加元素---------------------------------")
names.append("append") #将字符串append添加到列表末尾
names.insert(1,"insert1") #将字符串insert1添加到下标为1的位置,原有数据下标依次后移
names.insert(5,"insert5") #将字符串insert5添加到下标为5的位置,原有数据下标依次后移
print(names)
print("-------------------------删除元素---------------------------------")
names.remove("insert1") #删除值为insert1的元素
del names[0] #删除下标为0的元素
print(names)
names.pop() #删除最后一个元素
names.pop(5) #删除下标为5的元素
print(names)
输出如下:
-------------------------增加元素---------------------------------
['zhangsan', 'insert1', 'lisi', 'wangwu', 'zhaoliu', 'insert5', 'aaa', 'bbb', '123', '456', '!@#$', [123, '456', 789], 'append']
-------------------------删除元素---------------------------------
['lisi', 'wangwu', 'zhaoliu', 'insert5', 'aaa', 'bbb', '123', '456', '!@#$', [123, '456', 789], 'append']
['lisi', 'wangwu', 'zhaoliu', 'insert5', 'aaa', '123', '456', '!@#$', [123, '456', 789]]
修改元素
#names列表原始值如下:
names = ["zhangsan","lisi","wangwu","zhaoliu","aaa","bbb","123","456","!@#$",[123,"456",789]]
print("-------------------------修改元素---------------------------------")
names[2] = "modify2" #将下标为2的元素的值修改为字符串modify2
print(names)
输出如下:
-------------------------修改元素---------------------------------
['zhangsan', 'lisi', 'modify2', 'zhaoliu', 'aaa', 'bbb', '123', '456', '!@#$', [123, '456', 789]]
查找元素
#names列表原始值如下:
names = ["zhangsan","lisi","wangwu","zhaoliu","aaa","bbb","123","456","!@#$",[123,"456",789]]
#查找元素
print("-------------------------查找元素---------------------------------")
print(names)
print(names.index("aaa")) #输出值为aaa的元素的下标值
print(names[names.index("aaa")])
输出如下:
-------------------------查找元素---------------------------------
['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'aaa', 'bbb', '123', '456', '!@#$', [123, '456', 789]]
4
aaa
计数/反转/排序/清空列表
#names列表原始值如下:
names = ["zhangsan","lisi","wangwu","zhaoliu","aaa","bbb","123","456","!@#$"]
#计数
print("-------------------------计数---------------------------------")
print(names.count("aaa")) #输出值为aaa的元素的数量
#反转
print("-------------------------反转---------------------------------")
names.reverse() #反转列表
print(names)
#排序
print("-------------------------排序---------------------------------")
names.sort() #对列表排序,ASCII码顺序
print(names)
#清空列表
print("-------------------------清空---------------------------------")
names.clear() #清空列表
print(names)
输出如下:
-------------------------计数---------------------------------
1
-------------------------反转---------------------------------
['!@#$', '456', '123', 'bbb', 'aaa', 'zhaoliu', 'wangwu', 'lisi', 'zhangsan']
-------------------------排序---------------------------------
['!@#$', '123', '456', 'aaa', 'bbb', 'lisi', 'wangwu', 'zhangsan', 'zhaoliu']
-------------------------清空---------------------------------
[]
扩展列表
#扩展列表
a = [1,2,3]
b = [4,5,6]
print("-------------------------扩展列表---------------------------------")
a.extend(b) #将b列表扩展到a列表末尾
print(a, b)
输出如下:
-------------------------扩展列表---------------------------------
[1, 2, 3, 4, 5, 6] [4, 5, 6]
复制列表(浅copy,深copy)
import copy
names = ["zhangsan","lisi","aaa","bbb","123","!@#$",[123,"456",789]]
name2 = names.copy() #浅copy,只复制第一层,引用
name3 = copy.copy(names) #浅copy,只复制第一层,引用
name4 = copy.deepcopy(names) #深copy,完全复制没有关系
name5 = names #不copy,只是将name5指向与names同一个地址
print("--------------------修改之前--------------------")
print("names ## :", names)
print("name2=names.copy() ## :", name2)
print("name3=copy.copy(names) ## :", name3)
print("name4=copy.deepcopy(names) ## :", name4)
print("name5=names ## :", name5)
names[0] = "张三"
names[-1][0] = "xxx"
print("--------------------修改之后--------------------")
print("names ## :", names)
print("name2=names.copy() ## :", name2)
print("name3=copy.copy(names) ## :", name3)
print("name4=copy.deepcopy(names) ## :", name4)
print("name5=names ## :", name5)
输出如下:
--------------------修改之前--------------------
names ## : ['zhangsan', 'lisi', 'aaa', 'bbb', '123', '!@#$', [123, '456', 789]]
name2=names.copy() ## : ['zhangsan', 'lisi', 'aaa', 'bbb', '123', '!@#$', [123, '456', 789]]
name3=copy.copy(names) ## : ['zhangsan', 'lisi', 'aaa', 'bbb', '123', '!@#$', [123, '456', 789]]
name4=copy.deepcopy(names) ## : ['zhangsan', 'lisi', 'aaa', 'bbb', '123', '!@#$', [123, '456', 789]]
name5=names ## : ['zhangsan', 'lisi', 'aaa', 'bbb', '123', '!@#$', [123, '456', 789]]
--------------------修改之后--------------------
names ## : ['张三', 'lisi', 'aaa', 'bbb', '123', '!@#$', ['xxx', '456', 789]]
name2=names.copy() ## : ['zhangsan', 'lisi', 'aaa', 'bbb', '123', '!@#$', ['xxx', '456', 789]]
name3=copy.copy(names) ## : ['zhangsan', 'lisi', 'aaa', 'bbb', '123', '!@#$', ['xxx', '456', 789]]
name4=copy.deepcopy(names) ## : ['zhangsan', 'lisi', 'aaa', 'bbb', '123', '!@#$', [123, '456', 789]]
name5=names ## : ['张三', 'lisi', 'aaa', 'bbb', '123', '!@#$', ['xxx', '456', 789]]