列表+元组+字典
-
一、列表
1、列表的创建
#列表创建方式 方式一 li = [1,'a',2,'b',1,2,3,6,9,88,66] 方式二 lo = list() lo = list('dnfopfjffnashdijinilhinsfs')
2、列表操作--增
#列表增删查改 li = ['张三','李四','王老五'] #增append,默认在最后添加 li.append('吴老板') print(li) #结合whlie使用 while 1: name = input('请输入新员工名字:输入Q|q、退出:') if name.upper() == 'Q':break li.append(name) print(li) #insert 指定位置添加 li.insert(2,'xxx') print(li) #extend 迭代式添加,默认在最后添加 li.extend('aaaaa') print(li) 输出:['张三', '李四', '王老五', 'a', 'a', 'a', 'a', 'a'] #迭代式添加多个 li.extend(['aaaaa','b',3]) print(li)
3、列表操作--删除
li = ['张三','张三','张三','李四','王老五'] #列表删除、pop,默认删除最后一个 li.pop() print(li) #指定索引删除 #删除第二个,还可以返回删除的元素 print(li.pop(1)) print(li) #指定元素删除,有相同元素默认删除第一个 li.remove('张三') print(li) #清空列表 li.clear() print(li) #del #按照索引删 del li[2] #按照切片删 del li[::2]
1. 4、列表的嵌套 ```python #嵌套列表 li = ['a','b',['n',1,345,6,5]] print(li[-1][0]) #对小列表拼接 li = ['a','b',['n',1,345,6,5]] str_new = li[-1][0] + 'b' print(str_new) #嵌套列表再嵌套 li = ['a','b',['n',1,345,6,5,[100,11,33,55,44]]] print(li[2][-1][0])##输出是100 li = ['a','b',['n',1,345,6,5,[100,11,33,55,'a']]] print(li[2][-1][-1].upper())
二、元组(用的不多,py才有)
特性:
1、只读列表(没有增删改)
2、可存大量数据
3、 可索引、切片
定义: #列表是[],元组是() #元组不可以改,但是里面的[列表]可以修改 yz = (1,'a',2,['d',1]) print(yz[3]) #改元组的列表 yz = (1,'a',2,['d',1]) yz[-1].append(5) print(yz) #应用:用户名密码
三、range
定义:类似于列表,自定义数字范围的数字列表
r = range(10) #类似[0,1···,9] for i in r: print(i) li = range(5) print(li[1:3]) 输出:range(1, 3)
四、字典
- key必须是不可变的数据类型:int,str
- value可以是任意数据类型,对象
- 字典3.5(包括3.5)之前是无序的
- 3.6x会啊按照初次建立字典的顺序排列,学术上不认为是有序的
- 3.7x以后都是有序的
- 字典的优点:查询速度快,存储关联性的数据
- 字典的缺点:以空间换时间
一、定义
定义: dic = {'key':'value','key1':'value2','key3':['a','b','c','d']} 创建方式一: dict关键字创建 dic = dict((('a',1),('b',2),('c',3))) print(dic) ##{'a': 1, 'b': 2, 'c': 3} 创建方式二: dic = dict(a=1,b=2,c=3) print(dic) ##{'a': 1, 'b': 2, 'c': 3} 创建方式三: dic = dict({'a':1,'b':2,'c':3}) print(dic) ##{'a': 1, 'b': 2, 'c': 3}
二、增
#通过key = value的方式新增 #新增规则:有则改之,无则新增 dic = dict(a=1,b=2,c=3) dic ['d'] = '4' print (dic) #只新增key,那么value默认Node #setdefault:有则不变,无则新增 dic = dict(a=1,b=2,c=3) dic.setdefault("d") print (dic)
三、删
#pop按照key删除 dic = dict(a=1,b=2,c=3) dic.pop("c") print (dic) #pop,可设置第二个参数,如果没有要删除的key,不会报错 dic = dict(a=1,b=2,c=3) r = dic.pop("f","没有这个key") print (r) #输出结果:没有这个key #clear,清空字典,字典还在 dic = dict(a=1,b=2,c=3) dic.clear() print(dic) #del,输入key删除,没有key会报错
四、改
dic = dict(a=1,b=2,c=3) dic['a']=11 print(dic)
五、查
#通过key查询,没有该key,报错 dic = {'a':1,'b':2,'c':[3,4,5]} print(dic['c']) #输出:[3, 4, 5] #get查询 dic = {'a':1,'b':2,'c':[3,4,5]} ll = dic.get('a') print(ll) #get查询没有key,可以自定义返回值,输出:没有该key dic = {'a':1,'b':2,'c':[3,4,5]} ll = dic.get('aaaa','没有该key') print(ll) #获取所有的key dic = {'a':1,'b':2,'c':[3,4,5]} ll = dic.keys() #获取所有的value dic = {'a':1,'b':2,'c':[3,4,5]} ll = dic.values() #items,输出三个元组 dic = {'a':1,'b':2,'c':[3,4,5]} ll = dic.items() for i in ll: print(i) for便利输出key,value dic = {'a':1,'b':2,'c':[3,4,5]} ll = dic.items() for key,value in ll: print(key,value )