D12-07 字典(一)(二)(三)
1、key : value 键值对
2、字典的value 可以是任何值
3、列表、字典不能作为key ,但是布尔值可以作为key 因为true=1 false=0 所有当字典中有0、1作为key的时候true和false是不会输出的。
4、字典是无序的
调用方式:
info = {'k1':'v1','k2':'v2',2:'4'} v = info['k1'] print(v)
删除 del
info = {'k1':'v1','k2':'v2',2:'4'} del info['k1'] print(info)
输出结果
{2: '4', 'k2': 'v2'}
for 循环 默认循环的输出只有key
for i in info.keys(): print(i)
输出结果
k2
k1
2
for 循环输出value
for i in info.values(): print(i)
输出结果
4
v1
v2
循环输出key value
info = {'k1':'v1','k2':'v2',2:'4'} for i in info.items(): print(i)
输出结果
('k2', 'v2')
(2, '4')
('k1', 'v1')
fromkeys根据序列创建字典,并制定统一的值。
v = dict.fromkeys('liu',2) print(v)
输出结果{'l': 2, 'u': 2, 'i': 2}
get 的用法
dic = {'k1':'v1','k2':'v2',2:'4'} v = dic.get('k1') print(v)
输出结果v1
get 如果key值为该字典中不含的键,例如有k11111,不会报错,只会返回none值
dic = {'k1':'v1','k2':'v2',2:'4'} v = dic.get('k231') print(v)
输出结果None
如果指定返回结果的情况下
dic = {'k1':'v1','k2':'v2',2:'4'} v = dic.get('k231',2222) print(v)
输出结果2222
get 总结 根据key获取值,key不存在时,可以指定默认值。
dic.setdefault
设置值,如果已经存在不设置,只获取当前key对应的值。
如果不存在,设置,获取当前对应的值。
存在的情况下
dic = {'k1':'v1','k2':'v2'} v = dic.setdefault('k1','123') print(dic,v)
输出结果为{'k1': 'v1', 'k2': 'v2'} v1
不存在的情况下
dic = {'k1':'v1','k2':'v2'} v = dic.setdefault('k12323','123') print(dic,v)
输出结果为{'k2': 'v2', 'k12323': '123', 'k1': 'v1'} 123
dic.updata
dic = {'k1':'v1','k2':'v2'} dic.update(k1=123,k2=2323,k3='0dfa') print(dic)
输出结果{'k1': 123, 'k2': 2323, 'k3': '0dfa'}