继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

python---字典

AI人工智能视频入门
关注TA
已关注
手记 330
粉丝 93
获赞 396

#字典是key-value的数据类型,字典是无序的,没有下标(列表有下标),key必须是唯一的


info = {

    "stu001":"fengxiaoli",

    "stu002":"cx",

    "stu003":"wyc",

    "stu004":"ljh",

}



###-----------------循环字典

for i in info:              #推荐使用

    print(i,info[i])


for k,v in info.items():    #不推荐,因为它是先转化为列表在打印,数据量的时候数据会很慢

    print(k,v)

    

    

###-----------------查询

print("stu001" in info)     #判断key是否在字典中,同py2中 info.has_key("stu001")

print(info.get("stu002"))   #通过key获取value,推荐使用

print(info["stu001"])

print(info)  

    

    

###-----------------修改

info["stu003"] = "fzl"        #有那个key就修改,没有新增

info["stu005"] = "fzl"

print(info)



###-----------------删除

del info                       #删除整个字典

del info["stu005"]

info.pop("stu004")

info.popitem()                 #随机删除一组



###-----------------合并两个字典

b = {

    "stu001":"fxl",

    3:5,

    4:8,

}

info.update(b)      #合并字典info和字典b,有重复的就更新,不重复的就合并

print(info)



###-----------------把字典转成列表

print(info.items())



###-----------------初始化一个字典

c = dict.fromkeys([7,8,9],"test")

print(c)

#输出{8: 'test', 9: 'test', 7: 'test'}


c1 = dict.fromkeys([7,8,9],{1:"feng",2:"cx",3:"fxl"})

print(c1)

#输出{8: {1: 'feng', 2: 'cx', 3: 'fxl'}, 9: {1: 'feng', 2: 'cx', 3: 'fxl'}, 7: {1: 'feng', 2: 'cx', 3: 'fxl'}}


c1[8][2]="xia"      #类似浅copy,二级字典中数据指向同一内存地址,修改一个所有都改变

print(c1)

#输出{8: {1: 'feng', 2: 'xia', 3: 'fxl'}, 9: {1: 'feng', 2: 'xia', 3: 'fxl'}, 7: {1: 'feng', 2: 'xia', 3: 'fxl'}}

   

   


###-----------------多级字典

info2 = {

    "stu001":{"fxl":["性别:男","年龄:21"]},

    "stu002":{"cx":["性别:女","年龄:25"]},

    "stu003":{"fzl":["性别:男","年龄:35"]},

}

info2["stu001"]["fxl"][1] = "年龄:23"            #修改

info2.setdefault("stu004",{"ljh":["性别:女","年龄:40"]})     #增加,如果字典中有这个key就不改变原值,没有就新建

print(info2)

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP