Python数据类型之dict相关常用操作

本文详细介绍了Python字典的各种操作,包括增删改查、字典合并、使用 `.fromkeys()` 创建新字典,以及如何从字典和列表中取值。还探讨了对字典进行升序排序的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇:Python数据类型之list相关常用操作 点击跳转
目录篇:python相关目录篇 点击跳转
下一篇:Python数据类型之set相关常用操作 点击跳转

目录


#dict字典增删改查

info = {
    'stu1101': "TengLan Wu",
    'stu1102': "LongZe Luola",
    'stu1103': "XiaoZe Maliya",
}


#取值
print(info["stu1101"])    #取出按键的值

#修改
info["stu1101"] = "刀前卫"  #修改key的值
info["stu1104"] = "changjinkong" #修key的值 如果没有key就自动添加key

#删除
#del info["stu1101"] #删除改key(值自然就没了)
info.pop("stu1101") #删除该key 和上面效果一样
print(info)

#查找
#info['stu1104'] #用该方式查找,如果没有该key就会报错,所以不用
print(info.get('stu1103')) #用.get('xxx')查找是最有用的
print(info.get('stu1105'))  #如果没有该key直接回复none而不是报错

#判断key会否存在
print('stu1103'in info) #判断是否有该key #python2:info.has_key("1103") 效果一样,但是3消失了

#判断key会否存在,存在就不进行替换,不存在就添加
info. setdefault('stu1103', "XiaoZe Maliya")

 

#dict字典之合并

info = {
    'stu1101': "TengLan Wu",
    'stu1102': "LongZe Luola",
    'stu1103': "XiaoZe Maliya",
}

b ={
    'stu1101':"Burgess",
    1:3,
    2:5
}

info.update(b)  #把b该字典更新到info字典内(合并起来) 相同key 那么会吧原先的字典值覆

 

#使用.fromkeys创建新字典(一旦字典的value一修改,所有的都会修改)

c = dict.fromkeys([6,7,8],"test") 
#结果c=={8: 'test', 6: 'test', 7: 'test'}

d = dict.fromkeys([6,7,8],[1,{"name":"burgess"},444]) 
#结果d=={8: [1, {'name': 'burgess'}, 444], 6: [1, {'name': 'burgess'}, 444], 7: [1, {'name': 'burgess'}, 444]}

d[8][1]['name'] = "Jack "
#结果d=={8: [1, {'name': 'Jack '}, 444], 6: [1, {'name': 'Jack'}, 444], 7: [1, {'name': 'Jack'}, 444]}



#dict字典andlist列表取值

__author__ = "Burgess Zheng"

USER_DICT = {
    '1':{'name':'root1','email':'root@live.com'},
    '2':{'name':'root2','email':'root@live.com'},
    '3':{'name':'root3','email':'root@live.com'},
    '4':{'name':'root4','email':'root@live.com'},
    '5':{'name':'root5','email':'root@live.com'},
}

for i in USER_DICT.keys():  #循环取该字典的key
    print(i)  #打印结果是 1 2.....

for i in USER_DICT.values():  #循环取该字典的value
    print(i)  #打印结果是([{'name':'root1','email':'root@live.com'},{‘name’:root2....}]

for k,i in USER_DICT.items():#获取key 和value
    print(i)  #打印value  结果{'email': 'root@live.com', 'name': 'root2'}
    print(k)  #打印key   结果2



print(USER_DICT["1"])#打印key=1的value
                    # 打印结果 {'name': 'root1', 'email': 'root@live.com'}

print(USER_DICT["1"]["email"])#打印key=1的value的key=email的value
                    # 打印结果 root@live.com

print(list(USER_DICT.values()))
                   # 打印结果 [{'name': 'root1', 'email': 'root@live.com'},{‘name’:root2....},....]

print(list(USER_DICT.key()))
                   # 打印结果 [‘1’,’2’....’5’]

print(list(a.items()))
                   # 打印结果 [(‘1’,{‘name’:root1....),(‘2’,{‘name’:root2...}),()...]



USER_LIST = [
    {'name':'root1','email':'root@live.com'},
    {'name':'root2','email':'root@live.com'},
    {'name':'root3','email':'root@live.com'},
    {'name':'root4','email':'root@live.com'},
    {'name':'root5','email':'root@live.com'},
]

for i in USER_LIST:#循环取该列表所有的元素
    print(i)#打印结果是{'name': 'root1', 'email': 'root@live.com'}



print(USER_LIST[0])  #打印该列表下标0的value
                    #结果:{'email': 'root@live.com', 'name': 'root1'}

print(USER_LIST[0]["name"])#打印该列表下标0的value的key=name的值
                                                        #结果:root1

#dict字典的sorted 升序

a = {6:2,8:0,1:4,-5:6,99:11,4:22}

print(a)  #我们知道字典是无序的
print(sorted(a))   #默认key升序,变成列表 value消失
print(sorted(a.items()))  #默认key升序,变成列表 value存在
print(sorted(a.items(),key=lambda x:x[1]))  #按value升序 变成列表

#key=lambda x=key:x[1]取该key的value  等于字典的key作为传参
#要排序就必须变成列表 items就是变成列表

上一篇:Python数据类型之list相关常用操作 点击跳转
目录篇:python相关目录篇 点击跳转
下一篇:Python数据类型之set相关常用操作 点击跳转​​​​​​​

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值