字典内置方法

 

 定义方式

定义:在{}内用逗号隔开多元素,每个元素都是按key:value的形式,其中value可以是任意类型,

而key必须是不可变类型,通常key应该是str类型,因为str类型对value有描述性功能。

student_info = {‘name':'lili','age':22,'hobby':'study'}

 

取值

student_info = {‘name':'lili','age':22,'hobby':['学习','唱歌']}
print(student_info['name']) # 结果:lili
print(student_info['hobby'][1]) #结果: 唱歌

赋值

info = {‘name':'lili','age':22,'hobby':'study'}
info['gender'] = 'male'
print(info)
 # 结果:{'name': 'lili', 'age': 22, 'hobby': 'study', 'gender': 'male'}
#
对于赋值操作,如果key原先不存在于字典,则会新增key:value

info = {‘name':'lili','age':22,'hobby':'study'}
info['name'] = 'tom'
print(info)

#结果:{'name': 'tom', 'age': 22, 'hobby': 'study'}
对于赋值操作,如果key原先存在于字典,则会修改对应value的值
长度len
print(len(info)) # 3


 

  

 

 

 成员运算 in 和 not in

info = {‘name':'lili','age':22,'hobby':'study'}
print('name' in info) #判断某个值是否是字典的key ---> True

删除

  print(info.pop('age')) 
# 通过指定字典的key来删除字典的键值对

 


 获取字典所有的key:

print(info.keys())

获取字典所有的value:

print(info.values())

获取字典所有的键值对:        #键keys(),值values(),键值对items()

print(info.items())

 


循环 默认遍历的是字典的key for key in info: print(key) 只遍历key for key in dic.keys(): print(key) 只遍历value for key in dic.values(): print(key) 遍历key与value for key in dic.items(): print(key)
重点掌握:
1、get()
 dic= {'k1':'jason','k2':'Tony','k3':'JY'}
 print( dic.get('k1'))
 'jason'  # key存在,则获取key对应的value值
 res=dic.get('lili') # key不存在,不会报错而是默认返回None
 print(res)
 None  
 res=dic.get('tom',666) # key不存在时,可以设置默认返回的值
 print(res)
666 
# ps:字典取值建议使用get方法

2、pop() 

 dic= {'k1':'jason','k2':'Tony','k3':'JY'}
 v = dic.pop('k2')  # 删除指定的key对应的键值对,并返回值
 print(dic)
 >>#{'k1': 'jason', 'kk2': 'JY'}
 print(v)
 >>'Tony'

  

3.popitem()
 dic= {'k1':'jason','k2':'Tony','k3':'JY'}
 item = dic.popitem()  # 随机删除一组键值对,并将删除的键值放到元组内返回
 print(dic)
 >>{'k3': 'JY', 'k2': 'Tony'}
 print(item)
 >>('k1', 'jason')

  

4.update()

 


# 用新字典更新旧字典,有则修改,无则添加
dic= {'k1':'jason','k2':'Tony','k3':'JY'}
 dic.update({'k1':'JN','k4':'xxx'})
print(dic)
>>{'k1': 'JN', 'k3': 'JY', 'k2': 'Tony', 'k4': 'xxx'}

5.fromkeys()


dic = dict.fromkeys(['k1','k2','k3'],[])
print(dic)
>>{'k1': [], 'k2': [], 'k3': []}

  

6.setdefault()
# key不存在则新增键值对,并将新增的value返回
 dic={'k1':111,'k2':222}
 res=dic.setdefault('k3',333)
 print(res)
 >>>333
print dic # 字典中新增了键值对
>>{'k1': 111, 'k3': 333, 'k2': 222}

# key存在则不做任何修改,并返回已存在key对应的value值
 dic={'k1':111,'k2':222}
 res=dic.setdefault('k1',666)
 print(res)
 >>111
 print(dic) # 字典不变
 >>{'k1': 111, 'k2': 222}

  

 

 

posted @ 2021-11-09 16:28  超级苟哥  阅读(55)  评论(0)    收藏  举报