码迷,mamicode.com
首页 > 编程语言 > 详细

Python字典

时间:2018-11-30 22:40:55      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:print   默认   end   存在   ict   参数   第一个   name   obb   

 1. 什么是字典
        字典是以key:value的形式来保存数据
        用{}表示. 存储的是key:value
    2. 字典的增删改查(重点)
        1. 添加
            dic[新key] = 值
            setdefault()
dic = {"意大利": "李云龙", "美国": "美国往事"}
dic["日本"] = "东京审判"  # 新key表示添加
dic[韩国] = "釜山行"


setdefault 
# 有添加的功能,如果key是存在的. 不添加
# 流程: 判断你给的key是否在字典中存在了.如果已经存在了. 就不再新增. 如果不存在. 执行新增操作
dic.setdefault("美国", "三傻大闹宝莱坞")

 

        2. 删除
            pop(key)
dic = {"张艺谋":"红高粱", "李安":"断臂山", "陈凯歌":"霸王别姬", "郭德纲":"祖宗十九代"}
dic.pop("郭德纲") 

 

        3. 修改
            dic[老key] = 值
            update() 跟新字典
dic = {"河南":"胡辣汤", "开封": "灌汤包", "武汉":"热干面"}
dic[河南] = "烩面" # 老key = 值
print(dic)

dic1 = {"赵四":"刘晓光", "刘能":"王晓利", "王木生":"范伟"}
dic2 = {"赵四":"光光", "刘能":"能能", "皮校长":"皮长山"}
dic1.update(dic2) # 把dic2怼到dic1里面. 把dict2中的内容更新到dic1
print(dic1)
print(dic2)

 

        4. 查询
            dic[key]
            get(key, 值)
            setdefault(key, value)
#1. 直接使用key就可以拿到value
print(dic1["赵四四"])

#2. get(key)
print(dic1.get("刘能能"))  # None 当key不存在返回None
print(dic1.get("刘能能", "没有这个人")) # 当key不存在. 返回第二个参数. 默认第二个参数是None

#3. setdefault() 第一个功能是添加(当key不存在). 第二个功能是查询(根据你给的key查询)
# 整个执行流程: 判断给的key是否存在. 如果存在. 就不执行新增流程.直接查询出这个key对应的value
# 如果key不存在. 先执行新增操作. 再使用key把对应的value查询出来
ret = dic1.setdefault("皮长山", "皮校长")
print(ret) # 皮校长

ret = dic1.setdefault("王木生", "宝宝")
print(ret) # 范伟

 

        5. 遍历,字典是一个可迭代对象
# 遍历字典两套方案
dic = {"赵四":"刘晓光", "刘能":"王晓利", "王木生":"范伟"}
# 1. 使用for循环直接遍历字典的key
for key in dic:
    print(key)
    print(dic[key])

# 2. 可以使用字典的items()+解构可以直接获取到key和value
for k, v in dic.items():
    print(k)
    print(v)

 

    3. 字典的相关操作
        1. keys() 获取到所有的键
        2. values() 获取到所有的值
        3. items() 拿到所有的键值对

    4. 字典的嵌套
        字典的嵌套. 字典套字典
wf = {
    "name":"汪峰",
    "age":52,
    "hobby":["唱歌", "上头条", "穿皮裤"],
    "wife": {
        "name": "章子怡",
        "age": 49,
        "hobby":["演戏", "上电视", "当导师"],
        "tishen": {
            "name":"萌萌",
            "age":28
        },
        "zhuli":{
           "name":"磊磊",
           "age": 20
        }
    },
    "zhuli":{
        "name":"宝宝",
        "age":23,
        "hobby":["抽烟","喝酒","烫头"]
    },
    "children":[{"name":"汪老大"}, {"name":"汪老二"}]
}
wf[children][1]["age"] = 2
print(wf)
print(wf[zhuli][name])
# 汪峰老婆替身的名字
print(wf[wife][tishen][name])
# 汪峰老婆的第二个爱好
print(wf[wife][hobby][1])
# 汪峰助理的第三个爱好
print(wf[zhuli][hobby][2])

# 汪峰的助理+10岁
wf[zhuli][age] = wf[zhuli][age] + 10
# 汪峰的老婆添加一个爱好("导戏")
wf[wife][hobby].append("导戏") # 添加完毕了
# 删除汪峰助理的"抽烟"爱好
wf["zhuli"]["hobby"].remove("抽烟")
print(wf)

 

Python字典

标签:print   默认   end   存在   ict   参数   第一个   name   obb   

原文地址:https://www.cnblogs.com/wangm-0824/p/10046693.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!