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

  

 

posted @ 2018-07-03 13:38  犀利的攻城狮  阅读(101)  评论(0编辑  收藏  举报