基本数据类型(dict)

万恶之源-基本数据类型(dict)

 1. dict(字典)
        用大括号{} 括起来. 内部使用key:value的形式来保存数据
        {'jay':'周杰伦', "jj":'林俊杰'}
        注意:字典的key必须是可哈希的.,不可变的, value 没有限制
        不是按照我们保存的顺序保存的, 无序的

字典的相关操作:
<1>增加
dic = {"昆凌":"周杰伦的老婆"}
# dic['国际章'] = "汪峰的老婆"
# print(dic)# 新增
# dic['国际章'] = "雄壮的老外"    # 如果key重复了. 会替换掉原来的value

dic.setdefault("马蓉", "王宝强的前任老婆")
dic.setdefault("马蓉", "宋哲的现任老婆????") # 如果字典中已经包含了这个key. 不再继续保存
print(dic)

<2>删除


dic = {"牌牌":"你去哪里了", "晓雪":"你快回来.", "雪雪": "又走了"} ret = dic.pop("晓雪") # 删除一个元素. 返回这个元素的value值 print(ret)

dic = {"牌牌":"你去哪里了", "晓雪":"你快回来.", "雪雪": "又走了"} del dic["雪雪"] print(dic)
dic = {"牌牌":"你去哪里了", "晓雪":"你快回来.", "雪雪": "又走了"}
ret = dic.popitem() # 返回给你的是一个元组.
print(ret)
print(dic)  随机删除
# 清空字典中的所有内容 dic.clear()

<3>改

用key去修改

dic = {"id":1, 'name':'李嘉诚', 'money':10000000}
# 李嘉诚赔了500
dic['money'] = dic['money'] - 500   # 用key去修改
print(dic)
dic1 = {"李晨":"范冰冰", "邓超":"孙俪", "王祖蓝":"李亚男"}
dic2 = {"李晨":"张馨予", "郑凯":"baby", "王宝强":"马蓉"}
dic1.update(dic2)   #  把dic2中的内容更新到 dic1 , 如果存在了key. 替换. 如果不存在,添加
print(dic1)
print(dic2)

<4>查

dic = {"及时雨":"宋江", "小李广":"花荣", "黑旋风":"李逵", "易大师":"剑圣"}
print(dic["易大师是个脑残"])   # 查询, 如果key不存在,报错
get的查
dic = {"及时雨":"宋江", "小李广":"花荣", "黑旋风":"李逵", "易大师":"剑圣"} print(dic.get("易是")) # 如果key不存在. 返回None
get的查
dic = {"及时雨":"宋江", "小李广":"花荣", "黑旋风":"李逵", "易大师":"剑圣"} print(dic.get("易是", "余小C")) #可以给出一个默认值. 当key不存在的时候返回默认值余小C

 2.字典的常用操作

1. keys() 返回所有字典的key的集合(高仿列表)

dic = {"及时雨":"宋江", "易大师":"剑圣", "维恩":"暗影猎手"}
for key in dic.keys():  # 可以进行迭代循环
  print(key)

2. values() 返回所有的value的集合

dic = {"及时雨":"宋江", "易大师":"剑圣", "维恩":"暗影猎手"}
for value in dic.values():
    print(value)

3. items()  返回键值对. 元组

dic = {"及时雨":"宋江", "易大师":"剑圣", "维恩":"暗影猎手"}
for k, v in dic.items():
    print(k , v)

解构,解包

a, b = (1, 2)

print(a)

print(b) 

 

3.字典的嵌套

dic = {
    "name":"汪峰",
    "age": 58,
    "wife":{
        "name":"国际章",
        "salary": 180000,
        "age": 37
    },
    "children":[
        {"name":"老大", "age": 18},
        {"name":"老二", "age": 118}
    ]
}
print(dic["children"][1]["age"])

print(dic["wife"]['salary'])

4.字典的for循环

dic = {1: 'a', 2:'b', 3:'c'}
for a in dic:   # 直接循环字典.拿到的是key

    print(a)
    print(dic[a])

 

posted @ 2018-07-08 23:36  shuai1993  阅读(208)  评论(0编辑  收藏  举报