一 列表
列表的定义:在[ ]内可以有多个任意类型的值,逗号分隔。列表与数组类似,也有一维、二维和三维的。
students = ['kermit','alex','wupeiqi',] students(['kermit','alex','wupeiqi',]) students = list(['kermit','alex','wupeiqi',]) #列表的三种定义形式
students1 = ['james','man',18,['sing','basketball','tiao','rap']]#二维列表 #students1[0][0]='james';students1[1][0]='man';students1[2][0]=18; #students1[3]=['sing','basketball','tiao','rap'] print(students1[3][2])#可以得到tiao students_info=[['kermit',18,['play',]],['alex',18,['play','sleep']]]#三维列表 #['kermit',18,['play',]属于三维数组第一格,'kermit',18,['play',]属于第二格,'play'属于第三格 print(students_info[1][2][1])#sleep
列表的各项操作:
1、按索引存取值(正向存取+反向存取):即可存也可以取
2、切片(顾头不顾尾,步长)
3、长度
4、成员运算in和not in
1、按索引存取值(正向存取+反向存取):即可存也可以取
2、切片(顾头不顾尾,步长)
3、长度
4、成员运算in和not in
5、追加
6、删除
7、循环
6、删除
7、循环
8、使用index查找列表中某个值的索引
9、pop取值,默认取列表中的最后一个值,类似删除,如果pop()括号中写了索引,则取索引对应的值
10、删除remove
11、插入值insert
12、extend 合并列表
students1 = ['james','man',18,['sing','basketball','tiao','rap']] students = ['kermit','alex','wupeiqi',] #按索引取值(正向和反向) print(students[1])#alex print(students[-1])#wupeiqi #切片,顾头不顾尾,步长 print(students1[0:4:2])#['james', 18] #长度len 成员运算in和not in print(len(students1))4 print('18' in students1)#True print('18' not in students1)#False #追加 students1.append('haohen,666')#['james', 'man', 18, #['sing', 'basketball', 'tiao', 'rap'], 'haohen,666'] print(students1) #删除 del students1[3]#删除列表中索引为3的值 print(students1)#删除了['sing', 'basketball', 'tiao', 'rap'] #index 查找列表中某个值的索引 print(students1.index(18))#18的索引是2 #获取列表中某个值的数量 count print(students1.count(18))#只有1个18,数量为1 #取值,默认取列表中的最后一个值,类似删除,如果pop()括号中写了索引,则取索引对应的值 print(students1.pop())#取完以后值已离开原列表 'haohen,666' print(students1.pop(1))#man #删除remove students1.remove(18)#需要在括号内写入想要移除的量的值 print(students1) #插入值 name = ['胖虎','蔡恩','sf no1'] name.insert(2,'best')#把best插入到索引2处 print(name) #extend 合并列表 name2 = ['巴雷特','新秀分位','nice'] name.extend(name2)#将name2放在name之后 print(name) #循环 for line in name: print(line)#循环输出元素
二 元组
作用:存多个任意类型的值,对比列表来说,元组不可变(是可以当做字典的key的),主要是用来读。
定义:与列表类型比,只不过[ ]换成( )。
例如:age=(11,22,33,44,55)本质age=tuple((11,22,33,44,55))
例如:age=(11,22,33,44,55)本质age=tuple((11,22,33,44,55))
元组的操作:
1、按索引取值(正向取+反向取):只能取
2、切片(顾头不顾尾,步长)
3、长度
4、成员运算in和not in
2、切片(顾头不顾尾,步长)
3、长度
4、成员运算in和not in
5、循环
age = (17,16,15,'十八') #1、按索引取值(正向取+反向取):只能取 print(age[2])#15 #2、切片(顾头不顾尾,步长) print(age[0:4:2])#(17, 15) #3、长度len #4、成员运算in和not in #5、循环 for line in age:#print会默认end为\n,进行换行,可以通过改变end的值来对此特性进行修改 print(line,end=' ')
三 字典
注:不可变类型:变量的值修改后,内存地址一定不一样。整型,浮点型,元组,字符串可变类型:值修改后,内存地址不变。列表,字典
#作用:存多个值,key-value存取,取值速度快 #定义:key必须是不可变类型,value可以是任意类型 info={'name':'kermit','age':18,'sex':'male'} #本质info=dict({....}) 或 info=dict(name='kermit',age=18,sex='male') 或 info=dict([['name','kermit'],('age',18)]) 或 {}.fromkeys(('name','age','sex'),None)
字典的操作:
1、按key存取值:可存可取
2、长度len
3、成员运算in和not in
2、长度len
3、成员运算in和not in
4、删除
5、键keys(),值values(),键值对items()
6、循环
5、键keys(),值values(),键值对items()
6、循环
7、get使用
dict({'name': 'panghu', 'age': 19}) dict1 = {'name': 'panghu', 'age': 19} # 1 print(dict1['name'])#panghu dict1['level'] = 9 # 存一个'level': 9到字典中 print(dict1)#{'name': 'panghu', 'age': 19, 'level': 9} #2 3 print(len(dict)) print('name' in dict1)#True print(19 in dict1)#value进行成员运算只能得到False #4del del dict1['level'] print(dict1)#{'name': 'panghu', 'age': 19} #5 键keys(),值values(),键值对items() #得到字典中的所有key print(dict1.keys())#dict_keys(['name', 'age']) #得到字典中的所有values print(dict1.values())#dict_values(['panghu', 19]) #得到字典中的所有items print(dict1.items())#dict_items([('name', 'panghu'), ('age', 19)]) #6循环 for key in dict1: print(key)#只能得到name和age,就是key print(dict1[key])#得到panghu和19,就是value #get print(dict1.get('age'))#用get找不到会提示不存在输出None(better) print(dict1['age'])#用中括号找不到直接报错 #如果找不到sex,为其设置一个默认值 print(dict1.get('sex','male'))#默认值并不会写入到dict1中,只是得到一个结果 print(dict1.get('name','male'))#如果可以找到name,直接无视默认值