一、什么是元组:元组就是一个不可变的列表
1:用途:
存多个值,但是只有读的需求,没有改的需求。
强调:在元素个数相同的情况下, 使用元组更加节省空间。
2:定义方式
t=(1,2,3,4,5,6) #t=tuple((1,2,3,4))
3:常用操作+内置的方法
优先掌握的操作
1:按照索引取值(正向取+反向取, 只能取)
t=(1,2,3,4,5,6,7,8,9) print(t[0:8:3]) # 打印结果 1 4 7
2:切片 (顾头不顾尾,步长)
t=(1,2,3,4,5,6) print(t[1:4]) #打印结果 (2, 3, 4)
3:长度 len
t=(1,2,3,4,5,6) print(len(t)) #打印结果 6
4 成员运算in和not in
t=(1,2,3,4,5,6) print (2 in t) #打印结果 True
5 循环
t=(1,2,3,4,5,6) i=0 while i< len(t): print(t[i] ,end=" ") #end=""表示不换行 i+=1 #打印结果 1 2 3 4 5 6 t=(1,2,3,4,5,6) for item in t: print(item,end=‘ ‘) #打印结果 1 2 3 4 5 6
6 index 固定元素的索引
t=(1,2,3,4,5,6) print(t.index(2)) #打印结果 1 表示第1位
7 count 某个元素的个数
t=(1,2,3,4,5,6,3,3,3,3,3,3,2) print(t.count(3)) #打印结果为7 表示这个元祖里有7个3
该类型总结
1 存多个值 ,2 有序 ,3 不可变
二,字典
1: 用途 :以key:value 的形式存多个值
优点:存取都快,每个值都有一个 对应的key
2,定义方式:{}内以逗号分隔多个元素,格式为 key:value
其中key必须为不可变类型,value可以是任意类型
dic={‘x‘:1,‘y‘:1,‘x‘:1111} print(dic) #打印结果 {‘x‘: 1111, ‘y‘: 1}
3:常用操作+内置的方法
3.1 按key存取值,可存可取
dic={‘name‘:‘egon‘} dic[‘age‘]=10 print(dic) # 打印结果 {‘name‘: ‘egon‘, ‘age‘: 10} 将‘age‘:10 这个元素放入字典里
dic={‘name‘:‘egon‘} dic[‘age‘]=10 dic[‘name‘]=‘EGON‘ print(dic) #打印结果 {‘name‘: ‘EGON‘, ‘age‘: 10} ,将‘age‘:10 存入字典里, 将‘name‘:egon 这个元素更改为‘name‘:EGON 元素放入字典里,
dic={‘name‘:‘egon‘} dic[‘age‘]=10 dic[‘name‘]=dic[‘name‘].upper() print(dic) #打印结果 {‘name‘: ‘EGON‘, ‘age‘: 10} 将‘age‘: 10 这个元素放入字典里,并将 name的vulae 值大写
3.2 长度 len 判断字典里有几个元素,key的个数则代表字典里元素的个数
dic={‘name‘:‘egon‘,‘age‘:18} print(len(dic)) #打印结果为2,表示里面有2个元素
3.3 成员运算 in 和not in 。 判断某个元素是否在字典内,
dic={‘name‘:‘egon‘,‘age‘:18} # print(‘name‘ in dic) #打印结果为True 表示name 这个key和对应的值在这个字典里 print(‘sex‘in dic) #打印结果为False 表示sex 这个key和对应的值不在这个字典里
3.4 删除 dic.pop(‘ ‘,None)
dic={‘name‘:‘egon‘,‘age‘:18} x=dic.pop(‘name‘) print(dic) #打印结果为 {‘age‘: 18}是只江name这个key与其所对应的值 删掉 dic={‘name‘:‘egon‘,‘age‘:18} res=dic.pop(‘sex‘,None) print(res) #打印结果为None 若是删除字典里没有的key与其所对应的值时,一般都在删除那个key的后面+ ‘ ,None‘,
若是没有这个key的话 反馈的 结果为None,若是有的话则直接删除。 不加None的话 删除没有的Key的情况下,
则会报错,所以一般情况为了防止报错, 在我们不确定有没有这个keyde 情况下,都要在后面加None
3.5 键 keys 表示,值 values表示 键值对items
dic={‘name‘:‘egon‘,‘age‘:18} print(dic.keys()) #打印结果 dict_keys([‘name‘, ‘age‘]) print(dic.values()) #打印结果 dict_values([‘egon‘, 18]) print(dic.items()) #打印结果 dict_items([(‘name‘, ‘egon‘), (‘age‘, 18)])
3.7 循环 for 用key 来循环
dic={‘name‘:‘egon‘,‘age‘:18} for x in dic.keys(): print(x) # 打印结果 name age 打印字典里key的所有集合 print(list(dic.keys())[0]) #打印字典里key的第一个值 name
3.6 get 取值 get() 括号里加key,把字典里的的值取出, 若取得key 是字典里没有的则不会报错, 直接给出None的提示。
dic={‘name‘:‘egon‘,‘age‘:18} print(dic.get(‘name‘)) #打印结果 egon print(dic.get(‘sex‘)) #d打印结果 None
3.7 .popitem() 默认取最后一个item
dic={‘name‘:‘egon‘,‘age‘:18} print(dic.popitem()) #打印结果 (‘age‘, 18)
3.8 update() 更新。更新指的是 新字典中有而老字典中没有则添加,新有而老有, 则覆盖
dic={‘name‘:‘egon‘,‘age‘:18} dic.update({‘x‘:1,‘age‘:19}) print(dic) #打印结果 {‘name‘: ‘egon‘, ‘age‘: 19, ‘x‘: 1}
3.9 setdefault的用处 修改的意思
字典中有key, 则不修改, 返回原key对应的原值
dic={‘name‘:‘egon‘,‘age‘:18} res=dic.setdefault(‘name‘,‘EGON‘) print(‘返回值‘,res) #打印结果 返回值 egon 原字典中有name, 所以不修改 print(dic) #打印结果 {‘name‘: ‘egon‘, ‘age‘: 18}
dic={‘age‘:18} res=dic.setdefault(‘name‘,‘EGON‘) print(dic #打印结果 {‘age‘: 18, ‘name‘: ‘EGON‘} 原字典里没有name以及对应的值, 所以将name加进字典,
3.10 fromkeys 快速造成一个新的字典
dic={‘name‘: ‘egon‘, ‘age‘: 18, ‘a‘: 1, ‘z‘: 3, ‘alex‘: 20} print({}.fromkeys(dic.keys(),‘NONE‘)) #打印结果{‘name‘: ‘NONE‘, ‘age‘: ‘NONE‘, ‘a‘: ‘NONE‘, ‘z‘: ‘NONE‘, ‘alex‘: ‘NONE‘}