字典内置方法
定义方式
定义:在{}内用逗号隔开多元素,每个元素都是按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}



浙公网安备 33010602011771号