列表的创建
第一种方法:
>>> name = [] #宝义一个name的空列表
>>> type(name) #查看name的类型
<class 'list'>
>>> print(name) #打印空列表name
[]
第二种方法:
>>> name1 = list() #定义一个name1的空列表
>>> type(name1) #查看name1的类型
<class 'list'>
>>> print(name1) #打印空列表name1
[]
第三种方法:
>>> names = ["chenliang","lanlan","lili","xiaxia"] # 定义names变量
>>> print(names) # 打印names变量中的值
['chenliang', 'lanlan', 'lili', 'xiaxia']
>>> type(names) # 查看names的内容是什么类型,可以看出是list(列表类型)
<class 'list'>
列表中相应元素对应的下标
>>> names[0]
'chenliang'
>>> names[1]
'lanlan'
>>> names[2]
'lili'
>>> names[3]
'xiaxia'
>>> names[-1]
'xiaxia'
>>> names[-2]
'lili'
>>> names[-3]
'lanlan'
>>> names[-4]
'chenliang'
统计列表中的元素
>>> len(names) #统计names列表中总共有多少个元素
4
>>> names.count("lili") #统计names列表中有多少个lili元素
1
往列表中增加元素
>>> names
['chenliang', 'lanlan', 'lili', 'xiaxia']
>>> names.insert(3,"binbin") #插入元素binbin,且放在下标为3的位置
>>> names #查看names列表中的元素
['chenliang', 'lanlan', 'lili', 'binbin', 'xiaxia']
>>> names.append("liangliang") #在names列表最后添加元素liangliang
>>> names #查看names列表中的元素
['chenliang', 'lanlan', 'lili', 'binbin', 'xiaxia', 'liangliang']
删除列表中的元素
>>> names
['chenliang', 'lanlan', 'lili', 'binbin', 'xiaxia', 'liangliang']
第一种方法:del(列表名[元素下标])
>>> names[5]
'liangliang'
>>> del(names[5]) #删除names列表中下标为5的元素
>>> names
['chenliang', 'lanlan', 'lili', 'binbin', 'xiaxia']
>>> del(names[5]) #若列表中没有相应的元素时,则会报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
第二种方法:列表名.pop() 列表名.pop(元素下标)
>>> names
['chenliang', 'lanlan', 'lili', 'binbin', 'xiaxia']
>>> names.pop()
'xiaxia'
>>> names
['chenliang', 'lanlan', 'lili', 'binbin']
>>> names
['chenliang', 'lanlan', 'lili', 'binbin']
>>> names[2]
'lili'
>>> names.pop(2)
'lili'
>>> names
['chenliang', 'lanlan', 'binbin']
第三种方法:列表名.remove(”元素名”)
>>> names
['chenliang', 'lanlan', 'binbin']
>>> names.remove("binbin")
>>> names
['chenliang', 'lanlan']
第四种方法:列表名.clear()
>>> names
['chenliang', 'lanlan']
>>> names.clear()
>>> names
[]
列表中元素的修改
>>> names = ['chenliang', 'lanlan', 'lili', 'binbin', 'xiaxia'] # 定义names的列表
>>> print(names) # 查看names列表中的所有元素
['chenliang', 'lanlan', 'lili', 'binbin', 'xiaxia']
>>> names[0] # 查看names列表中chenliang元素
'chenliang'
>>> names[0] = "liangliang" # 修改names中的chenliang元素为liangliang
>>> print(names) # 查看修改后的names列表
['liangliang', 'lanlan', 'lili', 'binbin', 'xiaxia']
查看列表中的元素
>>> print(names) # 查看names列表中的所有元素
['liangliang', 'lanlan', 'lili', 'binbin', 'xiaxia']
>>> "liangliang" in names # 查看liangliang元素是否在names列表中
True
>>> names.index("liangliang")
0
# 查看liangliang元素在names列表中的下标,若names列表中有多个
liangliang元素,那么index的方法只能查找到第1个liangliang元素
>>> print(names[0]) # 查看names列表中的liangliang元素
liangliang
>>> "chenchen" in names # chenliang没有在names列表中
False
>>> names.index("chenchen") # 若列表元素不存在会报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: 'chenchen' is not in list
列表元素的合并
>>> print(names) # 查看names列表中的所有元素
['liangliang', 'lanlan', 'lili', 'binbin', 'xiaxia']
>>> names1 = ["陈亮","兰兰","莉莉"] # 定义names1列表
>>> print(names1) # 查看names1列表中的所有元素
['陈亮', '兰兰', '莉莉']
>>> names.extend(names1) # 把names1列表中的元素合并到names列表中
>>> print(names) # 查看names列表中的所有元素
['liangliang', 'lanlan', 'lili', 'binbin', 'xiaxia', '陈亮', '兰兰', '莉莉']
列表的嵌套
>>> names #查看names列表中的所有元素
['liangliang', 'lalan', 'lili', 'binbin', 'xiaxia', '陈亮', '兰兰', '莉莉']
>>> names.insert(2,["1","2","3"])
>>> names
['liangliang', 'lalan', ['1', '2', '3'], 'lili', 'binbin', 'xiaxia', '陈亮', '兰兰', '莉莉']
>>> names[2][0]
'1'
>>> names[2][1]
'2'
>>> names[2][2]
'3'
列表中元素的反转(会真的反转列表中的元素哦)
>>> print(names)
['liangliang', 'lalan', ['1', '2', '3'], 'lili', 'binbin', 'xiaxia', '陈亮', '兰兰', '莉莉']
>>> names.reverse()
>>> names
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
列表的切片
#查看names列表中的所有元素
>>> names
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
从左至右取一段(从最左侧的元素开始)
>>> names[:5] #取names列表中的前5个元素(下标:0、1、2、3、4)
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin']
>>> names[0:5] #取names列表中的前5个元素(下标:0、1、2、3、4)
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin']
#从右至左取一段(从最右侧的元素开始)
>>> names #查看names元素中的列表
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
>>> names[-5:] #取最后5个元素
['binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
#从某个元素一直取到最后
>>> names #查看names列表中的所有元素
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
>>> names[4:] #从下标为4的元素开始(包含)一直取到最后
['binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
#取中间的某一阶段的元素
>>> names #查看names列表中的所有元素
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
>>> names[1:5] #取names列表中下标为1到下标为4的元素(下标:1、2、3、4)
['兰兰', '陈亮', 'xiaxia', 'binbin']
列表的步长[从左往右]
#从左至右步长为1
>>> names #查看names列表中的所有元素
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
>>> names[:] #从左到右步长为1
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
>>> names[::] #从左到右步长为1
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
>>> names[::1] #从左到右步长为1
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbiin', 'lili', ['1', '2', '3'], 'lanlan', 'liangliang']
#从左至右步长为2
>>> names #查看names列表中的所有元素
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
>>> names[::2] #从左到右步长为2
['莉莉', '陈亮', 'binbiin', ['1', '2', '3'], 'liangliang']
>>> names[0::2] #从左到右步长为2
['莉莉', '陈亮', 'binbiin', ['1', '2', '3'], 'liangliang']
#从某个元素开始(包含)往右步长
>>> names #查看names列表中的所有元素
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbin', 'lili', ['1', '2', '3'], 'lalan', 'liangliang']
>>> names[1::1] #从下标为1的元素开始往右步长1
['兰兰', '陈亮', 'xiaxia', 'binbiin', 'lili', ['1', '2', '3'], 'lanlan', 'liangliang']
>>> names[2::2] #从下标为1的元素开始往右步长2
['陈亮', 'binbiin', ['1', '2', '3'], 'liangliang']
#在某个范围内步长
>>> names #查看names列表中的所有元素
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbiin', 'lili', ['1', '2', '3'], 'lanlan', 'liangliang']
>>> names[1:7] #取出下标为1至下标为6之间的元素
['兰兰', '陈亮', 'xiaxia', 'binbiin', 'lili', ['1', '2', '3']]
>>> names[1:7:2] #从下标为1的元素开始步长2,直到下标为6的元素结束
['兰兰', 'xiaxia', 'lili']
列表的步长[从右往左]
>>> names #查看names列表中的所有元素
['莉莉', '兰兰', '陈亮', 'xiaxia', 'binbiin', 'lili', ['1', '2', '3'], 'lanlan', 'liangliang']
>>> names[::-1] #从最后一个元素往左步长1
['liangliang', 'lalan', ['1', '2', '3'], 'lili', 'binbin', 'xiaxia', '陈亮', '兰兰', '莉莉']
>>> names[::-2] #从最后一个元素往左步长2
['liangliang', ['1', '2', '3'], 'binbiin', '陈亮', '莉莉']