python3字典详解_Python3字典操作详解 Python3字典操作大全

#!/usr/bin/env python

# -*- coding:utf-8 -*-

#Author:sking

#Python3字典操作详解  Python3字典操作大全

#字典是无序的(因为它没有下标),key必须是唯一的

#字典是可变的,可以修改和添加

#创建字典

info = {'haha':12,'heihei':13,'wowo':45}

#查找字典的值value

#方法1

print(info['heihei']) #13  此方法必须确定字典中存在此key否则会报错

#方法2 推荐使用

print(info.get('heihei')) #13  当字典中没有此key时,会返回None

#修改字典

info['wowo'] = 14

print(info) #{'haha': 12, 'heihei': 13, 'wowo': 14}

#添加字典元素

info['loulou'] = 15

print(info) #{'haha': 12, 'heihei': 13, 'wowo': 14, 'loulou': 15}

#删除字典元素

#方法1

del info['haha']

print(info) #{'heihei': 13, 'wowo': 14, 'loulou': 15}

#方法2

a = info.pop('heihei')

print(a) #13  pop删除字典的同时会返回该key对应的值

print(info) #{'wowo': 14, 'loulou': 15}

#方法3

b = info.popitem() #随机删除一个字典元素

print(b)  #('loulou', 15)  popitem删除字典的同时会以元组的形式返回该元素的key和value

print(info) #{'wowo': 14}

#删除整个字典

#del info

#print(info) #NameError: name 'info' is not defined

info = {'haha':12,'heihei':13,'wowo':45}

#判断某个key是不是在这个字典里

print('wahaha' in info) #False

print('haha' in info) #True

#多级字典的嵌套和操作

book = {

'中国':{'a':['好','不好'],'b':['好','不好']},

'美国':{'c':['好','不好'], 'd':['好','不好']},

'日本':{'e':['好','不好']}

}

print(book)

#修改多级字典的value

book['中国']['b'][0] = 'ok'

print(book)

print('+_+_+_+_+_+_+_+_+_+_+_+_+_+_+')

info = {'haha':12,'heihei':13,'wowo':45}

print(info.values()) #dict_values([12, 13, 45])  打印字典的所有值value

print(info.keys()) #dict_keys(['haha', 'heihei', 'wowo']) 打印字典的所有键key

print(list(info.values())) #[12, 13, 45]  将字典所有的value转成list

print(list(info.keys())) #['haha', 'heihei', 'wowo']  将字典所有的key转成list

print(info.setdefault('ww',78)) #78

print(info) #{'haha': 12, 'heihei': 13, 'wowo': 45, 'ww': 78}  增加一个'ww': 78  字典对象

print(info.setdefault('haha', 34)) #12

print(info) #{'haha': 12, 'heihei': 13, 'wowo': 45, 'ww': 78}

#'haha'的value并没有改成34

# Python 字典 setdefault() 方法和 get() 方法类似,返回指定键的值,

# 如果键不在字典中,将会添加键并将值设置为一个指定值,默认为None。

# get() 和 setdefault() 区别: setdefault() 返回的键如果不在字典中,

# 会添加键(更新字典),而 get() 不会添加键。

print('+++++++++++++================-')

info = {'haha':12,'heihei':13,'wowo':45}

b = {'ss':99, 'haha':88}

info.update(b) #没有返回值

print(info) #{'haha': 88, 'heihei': 13, 'wowo': 45, 'ss': 99} update()方法合并两个字典,并修改/增加字典对象

print(info.items()) #dict_items([('haha', 88), ('heihei', 13), ('wowo', 45), ('ss', 99)])

#返回字典所有的key和value

print(list(info.items())) #[('haha', 88), ('heihei', 13), ('wowo', 45), ('ss', 99)]

#字典的循环

info = {'haha':12,'heihei':13,'wowo':45}

#方法1(推荐使用)

for i in info:

print(i, info[i])   #方法1 效率比较高,因为它是直接通过key找过val

"""

haha 12

heihei 13

wowo 45

"""

#方法2

for key,val in info.items():   #效率没有方法高,因为它需要把字典转成列表

print(key, val)

"""

haha 12

heihei 13

wowo 45

"""

/

13

13

{'haha': 12, 'heihei': 13, 'wowo': 14}

{'haha': 12, 'heihei': 13, 'wowo': 14, 'loulou': 15}

{'heihei': 13, 'wowo': 14, 'loulou': 15}

13

{'wowo': 14, 'loulou': 15}

('loulou', 15)

{'wowo': 14}

False

True

{'中国': {'a': ['好', '不好'], 'b': ['好', '不好']}, '美国': {'c': ['好', '不好'], 'd': ['好', '不好']}, '日本': {'e': ['好', '不好']}}

{'中国': {'a': ['好', '不好'], 'b': ['ok', '不好']}, '美国': {'c': ['好', '不好'], 'd': ['好', '不好']}, '日本': {'e': ['好', '不好']}}

+_+_+_+_+_+_+_+_+_+_+_+_+_+_+

dict_values([12, 13, 45])

dict_keys(['haha', 'heihei', 'wowo'])

[12, 13, 45]

['haha', 'heihei', 'wowo']

78

{'haha': 12, 'heihei': 13, 'wowo': 45, 'ww': 78}

12

{'haha': 12, 'heihei': 13, 'wowo': 45, 'ww': 78}

+++++++++++++================-

{'haha': 88, 'heihei': 13, 'wowo': 45, 'ss': 99}

dict_items([('haha', 88), ('heihei', 13), ('wowo', 45), ('ss', 99)])

[('haha', 88), ('heihei', 13), ('wowo', 45), ('ss', 99)]

haha 12

heihei 13

wowo 45

haha 12

heihei 13

wowo 45

[Finished in 0.2s]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值