索引/下标都是从“0”开始
下标偏移量-----------------索引/下标
可通过索引/下标访问到一个或几个成员的就叫序列
序列数据类型:
序字符串、列表、元组
python中[ ]就是列表
列表的增删改查、插入以及其他方法
增
列表中的添加方法 列表名.append(元素) 会自动把元素添加到列表中去,不需要赋值
删
根据元素删
列表名.remove(元素)
根据下标删
list.pop(下标)
注意:如果pop()中不写值,那么删除的就是列表中的最后一个
改和查
例题:
list1=[1,2,3,4,5]
a=list1[1]
print(a)
# 现想查看这个列表中有哪些元素
for i in list1:
print(i,end='')
# 把列表中的3替换为6
list1[2]=6
print(list1)
list2=[1,2,3,5,6,3,4,3]
# 把列表中所有的3替换为8
# range(8) ---------->0~7
for i in range(len(list2)):
# 如果列表中对应下标的元素等于3,那么就把对应位置上的元素改成8
if list2[i]==3:
list2[i]=8
print(list2)
列表的插入方法
列表名.insert(什么位置,什么元素)
例子:
list1=[1,2,3,4,5]
# 在2,3之间插入一个 你好
# 列表名.insert(什么位置,什么元素)
list1.insert(2,'你好')
print(list1)
# 在列表第一个位置插入0
list1.insert(0,0)
print(list1)
list1.insert(4,'abc')
print(list1)
列表中其他重要方法
例子:
list1=[1,2,3]
list2=[4,5,6]
把列表2中所有的元素加入到list1中
list1.extend(list2)
print(list1)
想要把list1中的元素和list2中的元素并在一起
list3=list1+list2
print(list3)
统计次数
list4=['粉丝','红烧肉','青菜','粉丝']
# 统计粉丝在这个列表中出现了几次
cou=list4.count('粉丝')
print(cou)
测量列表长度的方法
length=len(list4)
print(length)
根据元素反推这个元素对应的下标
# 列表名.index(元素)
ind=list4.index('红烧肉')
print(ind)
排序
list5=[1,3,6,2,4,9,5,7]
列表名.sort() 默认是升序
list5.sort()
print(list5)
降序
list5.sort(reverse=True)
print(list5)
转置(反序)
list6=['青菜','肉丝','面']
list6.reverse()
print(list6)
关于列表的案例:
注册功能:
name_list=['root','user']
password_list=['123','456']
# 输入账号和密码,如果账号已经存在,则提示注册失败,如果没问题,则把你输入的账号和密码存入对应的列表中去
# exit() 直接结束程序
name=input('请输入账号:')
pwd=input('请输入密码:')
if name in name_list:
print('注册失败!')
else:
name_list.append(name)
password_list.append(pwd)
print(name_list)
print(password_list)
列表的切片
说明:
1.使用切片后的结果仍然是列表
2.格式: 列表名[起始位下标:结束位下标(不包含结束位)]
3.步长不写,默认为1
方法加强: 列表名[起始位下标:结束位下标(不包含结束位):步长]
首尾都省略不写,则看步长,步长为正,则正着走,步长为负,则倒着走
列表中支持负数下标
小例子:
list2=['name','age','gender','class','id']
# 步长为正,仍然是正着走,取-2位之前的元素,-2位取不到
print(list2[:-2])
# 从-1位往后走
print(list2[-1:])
# 步长和下标的表示方式不一致,所以取不到元素
print(list2[1:5:-2])
成员操作符
list = ['1','2','3']
n = input('请输入你要输入的数字:')
# 如果你输入的数字是列表中存在的,则提示你是对的,否则提示你错了
if n in list:
print('你对的')
else:
print('你错了')
列表推导式
# for循环前面的i代表是 你要什么 for循环代表的是生成什么
list2 = [i for i in range(1,11)]
print(list2)
list3 = [i*10 for i in range(1,11) if i%2 == 0]
print(list3)