一、列表
基本格式:列表名=[元素1,元素2,元素3]
元素之间的数据类型可以各不相同
name=['q',1,3,'nq',55]
print(name,type(name))#['q', 1, 3, 'nq', 55] <class 'list'>
print(name[0])#q
列表也可以进行切片操作,是可迭代对象,可以用for循环遍历
name=['q',1,3,'nq',55]
for i in name:
print(i)
二、列表的相关操作
1、添加元素
append()整体添加
extend()分散添加,将另外一个类型的元素逐一添加
insert()在指定位置插入元素,指定位置如果有元素,原有元素就会后移。报错,没有指定下标
name=['q',1,3,'nq',55]
name.insert(2,'go')
print(name)#['q', 1, 'go', 3, 'nq', 55]
name.append('max')
print(name)#['q', 1, 'go', 3, 'nq', 55, 'max']
name.extend('zhang')
print(name)#['q', 1, 'go', 3, 'nq', 55, 'max', 'z', 'h', 'a', 'n', 'g']
name.extend(4)#报错,整形不是可迭代对象
2、修改元素
直接通过下标就像可以进行修改
name=['q',1,3,'nq',55]
name[0]=2
print(name)#[2, 1, 3, 'nq', 55]
3、查找元素
in:判断指定元素是否存在列表中,如果存在就返回True,不存在就返回False
not in:判断指定元素是否存在列表中,如果不存在就返回True,存在就返回False
name=['q',1,3,'nq',55]
while True:
name1=input('请输入您的昵称:')
if name1 in name :
print(f'您输入的昵称{name1}已经存在')
else:
print(f'昵称{name1}已经被您使用')
name.append(name1)
print(name)
break
index:返回指定数据所在位置的下标,如果查找的数据不存在就会报错
count:统计指定数据在当前列表出现的次数
跟字符一样
4、删除元素
del:删除元素
name=['q',1,3,'nq',55]
del name[0]
print(name)
pop:删除指定下标的数据,Py3版本默认删除最后一个元素,只能根据下标进行删除,下标不能超出范围。
name=['q',1,3,'nq',55]
name.pop()#['q', 1, 3, 'nq']
print(name)
name.pop(2)
print(name)#['q', 1, 'nq']
remove:根据元素的值进行删除
默认删除最开始出现的元素。
name=['q',1,3,'nq',55]
name.remove('1')#报错,列表内不存在这个元素。
print(name)
5、排序
1.sort()
将列表按照指定顺序重新排序,从小到大
2.reverse()
倒序,将列表反过来
6、列表推导式
格式1:[表达式 for 变量 in 列表]
注意:in 后米不仅可以放列表,还可以放range()、可迭代对象
格式2:[表达式 for 变量 in 列表 if 条件]
name=[33,1,3,55]
[print(i+2) for i in name]
li=[]
for i in range(1,6):
li.append(i)
print(li)
lie=[]
[lie.append(i) for i in range(1,6)]
li=[]
for i in range(1,11):
if i%2!=0:
li.append(i)
print(li)
lie=[]
[lie.append(i) for i in range(1,11) if i%2!=0]
print(lie)
7、列表嵌套
一个列表里面又有一个列表
lib=[0,1,2,3,[0,2,3]]
print(lib[4])
print(lib[4][2])