一.定义
info = {
'k1':12, #由键值对组成
'k2':'v2'
}
--字典的value可以是任意值
--列表 字典不能作为key(因为key不能转化为哈希值)
-- 字典是无顺序的
二.常用方法
1.可以进行索引取值(通过索引取值有弊端,如果没有这个key会报错,一般使用get)
v= info['k1']
print(v)
***一般使用get取值下面有解释
****索引赋值
info={}
info['k1']=[11,]
2.支持del 删除
info = {
'k1':12,
'k2':'v2'
}
del info['k1']
print(info)
3.关于循环取值
--默认循环打印键值
for item in info:
print(item)
结果:
k1
k2
--使用info.values()取值
1   info = {
2     'k1':12,
3     'k2':'v2',
4     (1,'g',):'dg',
5     5:'gfhgh'
6    }
7    for item in info.values():
8        print(item)
   结果:
12
v2
dg
gfhgh
--也可以使用info.keys()取key值
1  info = {
2     'k1':12,
3     'k2':'v2',
4     (1,'g',):'dg',
5     5:'gfhgh'
6     }
7     for item in info.keys():
8         print(item,info[item])
--同时取key和value使用info.items()

info = {
    'k1':12,
'k2':'v2',
(1,'g',):'dg',
5:'gfhgh'
}
for k,v in info.items():
print(k,v)
4.字典的KEY不能重复,否则随机取一个值
例如Ture和1不能同时存在,虽然在判断中除0之外数字都为Ture,但在内存中默认Ture为1。

 1  info = {
 2     'k1':12,
 3     'k2':'v2',
 4     (1,'g',):'dg',
 5     1:'gfhgh',
 6     True:555
 7 
 8    }
 9    for item in info.keys():
10        print(item,info[item])

结果为:
    k1 12
k2 v2
(1, 'g') dg
1 555


三.提供字典调用的方法
1.fromkeys根据序列创建字典,指定统一的
v = dict.fromkeys([4,5,6,7],'hyu')
print(v)

**2.用get取值,根据key取值key不存在时,返回默认值None


info = {

'k1':12,
'k2':'v2',
(1,'g',):'dg',
1:'gfhgh',
True:555
}
print(info.get('k2'))

info = {
'k1':12,
'k2':'v2',
(1,'g',):'dg',
5:'gfhgh',
True:555
}
v = info.pop(1)
print(info,v)

4.popitem 随机删去最后一对并获取键值对
info = {
'k1':12,
'k2':'v2',
(1,'g',):'dg',
5:'gfhgh',

}
k,v = info.popitem()
print(info)
print(k,v)

5.setdefault 设置值 如果已经存在,不设置获取当前KEY对应值
设置值 如果不存在,获得设置后的值
info = {
'k1':12,
'k2':'v2',
(1,'g',):'dg',
5:'gfhgh',
}
v = info.setdefault('k1',5)
print(info,v)


6.update 更新字典键值对,两种方式
info.update({'k1':5,'k2':55,8:'ff'})
info.update(h=5,j=55,l=555)
posted on 2019-10-10 20:11  白雪零封  阅读(138)  评论(0编辑  收藏  举报