字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 。
键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
python字典的基本操作
dic={}
dic=dict()
2.字典的基本操作
dic={'zhangsan':1000,'lisi':2000,'wangwu':3000}
print(dic['lisi'])
2000
使用get函数进行查找,返回指定键的值,如果值不在字典中返回默认值None。
print(dic.get('lisi')
print(dic.get('zhaoliu')
2000
None
dic['lisi']=2020
print(dic)
{'zhangsan': 1000, 'lisi': 2020, 'wangwu': 3000}
dic['zhaoliu']=4000
print(dic)
{'zhangsan': 1000, 'lisi': 2000, 'wangwu': 3000, 'zhaoliu': 4000}
print('zhaoliu' in dic)
False
del(dic['zhangsan'])
print(dic)
{'lisi': 2000, 'wangwu': 3000}
或者使用字典的pop方法
dic.pop('zhangsan')
3.把键和值连接成一个字典
name=['zhangsan','lisi','wangwu']
salary=[1000,2000,3000]
dic=dict(zip(name,salary))
print(dic)
{'zhangsan': 1000, 'lisi': 2000, 'wangwu': 3000}
4.分别获得字典的键和值
print(dic.keys())
print(dic.values())
dict_keys(['zhangsan', 'lisi', 'wangwu'])
dict_values([1000, 2000, 3000])
5.单独输出每一组键和值
for k,v in dic.items():
print(k,v)
zhangsan 1000
lisi 2000
wangwu 3000
6.更新字典中的元素
dic1={'zhangsan':1000,'lisi':2000,'wangwu':3000}
dic2={'zhangsan':1010,'lisi':2000,'zhaoliu':4000}
dic1.update(dic2)
print(dic1)
{'zhangsan': 1010, 'lisi': 2000, 'wangwu': 3000, 'zhaoliu': 4000}
7.字典的复制
dic={'zhangsan':1000,'lisi':2000,'wangwu':3000}
dic1=dic
print(dic)
print(dic1)
{'zhangsan': 1000, 'lisi': 2000, 'wangwu': 3000}
{'zhangsan': 1000, 'lisi': 2000, 'wangwu': 3000}
dic={'zhangsan':1000,'lisi':2000,'wangwu':3000}
dic1=dic.copy()
print(dic)
print(dic1)
{'zhangsan': 1000, 'lisi': 2000, 'wangwu': 3000}
{'zhangsan': 1000, 'lisi': 2000, 'wangwu': 3000}
8.清空字典
dic={'zhangsan':1000,'lisi':2000,'wangwu':3000}
dic1=dic
dic.clear()
print(dic)
print(dic1)
{}
{}
dic={'zhangsan':1000,'lisi':2000,'wangwu':3000}
dic1=dic.copy()
dic.clear()
print(dic)
print(dic1)
{}
{'zhangsan': 1000, 'lisi': 2000, 'wangwu': 3000}
9.字典的fromkeys函数
Python 字典 fromkeys() 方法用于创建一个新的字典,并以可迭代对象中的元素分别作为字典中的键,且所有键对应同一个值,默认为None。
dic={}
name=['zhangsan','lisi','wangwu']
print(dic.fromkeys(name,1000))
{'zhangsan': 1000, 'lisi': 1000, 'wangwu': 1000}
其中name既可以是字符串,列表,也可以是元组,字典,但是name中的元素必须是不可变对象。
10.字典按值排序
reverse=False时候,按照值的升序排列
dic={'zhangsan':3000,'lisi':1000,'wangwu':2000}
dic_order=sorted(dic.items(),key=lambda x:x[1],reverse=False)
print(dic_order)
[('lisi', 1000), ('wangwu', 2000), ('zhangsan', 3000)]
reverse=True,按照值的降序排列
dic={'zhangsan':3000,'lisi':1000,'wangwu':2000}
dic_order=sorted(dic.items(),key=lambda x:x[1],reverse=False)
print(dic_order)
[('zhangsan', 3000), ('wangwu', 2000), ('lisi', 1000)]
本文地址:https://blog.csdn.net/weixin_46530492/article/details/107084142
如对本文有疑问, 点击进行留言回复!!
《UnityAPI.Collision碰撞》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+Collision+collider+rigidbody+立钻哥哥++OK++)
荐 2020年Java面试上必问的26个高频关键知识点,刷三遍必进阿里腾讯大厂!就这么自信!
使用IDEA搭建Springboot项目(dao层使用Mybatis)
网友评论