定义list-->l=[]
stus=[‘张三‘,‘李四‘,‘王五‘]
list增删改查
#增 stus.append(‘狄仁杰‘)#增加---append在list末尾增加一个元素 stus.insert(0,‘chenkai‘)#inster(下标,值)在指定位置添加元素如果指定的下标不存在,就是末尾添加 #改 stus[1]=‘momo‘#利用元素的下标,直接赋值 #查 print(stus)#打印整个list的值 print(stus[下标])#查看下标对应的元素 print(stus.count(‘xiaohei‘))#count查看某个元素在数组中的个数,如果不存在,返回0;对于唯一性校验,可以用count大于1去重 print(stus.index(‘chenkai‘))#index查找某元素的下标,如果有多个,只返回第一个,如果不存在报错 #删 stus.pop()#pop(),不传下标删除最后一个,指定下标则删指定元素,指定下标不存在时报错 stus.remove(‘张三‘)#删 remove 传元素的值,多个重复的值删第一个del stus[0] #del stus.clear() #清空list
#注:pop可以把删除的元素返回,remove不行,pop传下标,remove传元素的值
list内置函数
reverse----元素反转
stus.reverse()
sort----可对纯整型或纯字符型排序,不能对整数和字符串混合的数组排序
nu=[12,3,4,5,4,65,665,5,4,4545] nu.sort()#默认升序 nu.sort(reverse=True)#降序需要指定reverse=True
extend---合并两个list
nu=[1,2,] name=[3,4] nu.extend(name)#name追加到nu,name的值不变 print(nu)
list切片
#切片---list取值的一种方式 print(names[0:3])#取下标0,1,2的值,切片是顾头不顾尾, print(names[:8])#前面下标不写,默认从头开始写 print(names[3:])#后边下标不写,取到最后一个 print(names[:])#前后下标都不写,全取 #步长 nu=[1,2,3,4,5,6,7,8,9,10] print(nu[::2])#步长为正数,从左往右取#步长为2,隔一个取一个
print(nu[-1:-11:-1])#步长为负数,从右往左取
print(nu[9:-11:-1])
list 同时取下标和值---enumerate
t=[11,22,33] for i,v in enumerate(t):#enumerate同时循环下标和值,第一个代表索引,第二个代表值 print(‘%s:%s‘%(i,v))
实例:注册--功能:输入uname和password,写成死循环一直注册,如果用户名已经存在,提示用户名已存在
names=[] while True: uname=input(‘请输入用户名:‘) if uname in names: #也可if names.count(uname)==0: 判断用户名是否存在 print(‘用户名已存在‘) else: names.append(uname)#用户名不存在追加到names数组中 passwd = input(‘请输入密码:‘) print(‘注册成功‘)