元组 与 字典

一、什么是元组:元组就是一个不可变的列表

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'}




原文地址:https://www.cnblogs.com/lx3822/p/8619219.html