打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
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]
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python No.15 字典
18个Python脚本可加速你的编码速度
Python学习,第五课
盘点Python基础之字典的那些事儿
Python中的函数(5)
Python字典推导式
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服