
- 1、基本概念
- 2、访问字典
- 3、字典修改
- 4、字典删除
- 5、字典内置函数和方法
1.1、定义:字典是一系列键值对的集合,创建字典时,只需要将键值对用花括号{} 括起来,每个键值对的键和值之间用冒号 : 分隔,每个键值对之间用逗号 , 分隔
1.2、dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict。
1.3、键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
>>> tinydict = {'a': 1, 'b': 2, 'b': '3'}
>>> tinydict['b']
'3'
>>> tinydict
{'a': 1, 'b': '3'}
1.4、值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
>>> tinydict = {'Alice': '2341',98.6: 37,(1,2,3):'dist'}
>>> tinydict
{'Alice': '2341', 98.6: 37, (1, 2, 3): 'dist'}
1.5、我们也可以使用 dict() 构造函数创建新的字典,语法规则为:字典名 = dict(键名=键值, 键名=键值,…, 键名=键值)
>>> ne_zha = dict(英雄名字='哪吒', 最大生命=7268, 生命成长=270.4, 初始生命=3483, 最大法力=1808)
>>> ne_zha
{'英雄名字': '哪吒', '最大生命': 7268, '生命成长': 270.4, '初始生命': 3483, '最大法力': 1808}
2、访问字典
2.1、访问字典中某个键值对的值:字典名[键名],只需要将键值对的键名放到方括号 [] 中,通过key找到value
>>> ne_zha={'英雄名字': '哪吒', '最大生命': 7268, '生命成长': 270.4, '初始生命': 3483, '最大法力': 1808}
>>> ne_zha['生命成长']
270.4
2.2、除了使用上述方式进行访问外,我们还可以使用 get() 方法进行访问,语法规则是字典名.get(键名)。
>>> ne_zha.get('生命成长')
270.4
2.3、除了上述两种方法,我们还可以通过遍历的方式(一般通过for循环来实现遍历哦)来访问字典中的键值对。
>>> for key in ne_zha:
print(key)
英雄名字
最大生命
生命成长
初始生命
最大法力
2.4、上述语句是打印键名,打印值的话,使用的是下方语句:
#key 表示键名,根据刚刚我们介绍的访问键值的方法, ne_zha[key] 便表示键值。
>>> for key in ne_zha:
print(ne_zha[key])
哪吒
7268
270.4
3483
1808
2.5、另外,还可以使用 values() 函数返回字典的值,语法规则是字典名.values(),运行下方语句:
>>> for value in ne_zha.values():
print(value)
哪吒
7268
270.4
3483
1808
2.6、还可以使用 items() 函数遍历键和值,语法规则是字典名.items(),运行下方语句:
>>> for key, value in ne_zha.items():
print("key = ", key, ", value = ", value)
key = 英雄名字 , value = 哪吒
key = 最大生命 , value = 7268
key = 生命成长 , value = 270.4
key = 初始生命 , value = 3483
key = 最大法力 , value = 1808
3、字典修改
#key不存在就添加至字典结尾处
>>> ne_zha['最大每5秒回血'] = 98
>>> ne_zha
{'英雄名字': '哪吒', '最大生命': 7268, '生命成长': 270.4, '初始生命': 3483, '最大法力': 1808, '最大每5秒回血': 98}
#key存在就直接修改相应value值
>>> ne_zha['最大每5秒回血'] = 97
>>> ne_zha
{'英雄名字': '哪吒', '最大生命': 7268, '生命成长': 270.4, '初始生命': 3483, '最大法力': 1808, '最大每5秒回血': 97}
4、字典删除
4.1、pop() 方法
pop() 方法删除具有指定键名的项,语法规则为字典名.pop(键名)。键名如果是字符串,记得加英文状态下的引号哟!我们运行下方语句:
>>> ne_zha.pop('英雄名字')
'哪吒'
>>> ne_zha
{'最大生命': 7268, '生命成长': 270.4, '初始生命': 3483, '最大法力': 1808, '最大每5秒回血': 97}
4.2、 del
del 关键字删除具有指定键名的项目,语法规则为 del 字典名[键名]
del 关键字也可以完全删除字典,语法规则为:del 字典名
>>> del ne_zha['最大生命']
>>> ne_zha
{'生命成长': 270.4, '初始生命': 3483, '最大法力': 1808, '最大每5秒回血': 97}
4.3、clear()
clear() 函数清空字典,语法规则为:字典名.clear()
>>> ne_zha.clear()
>>> ne_zha
{}
5、字典内置函数和方法
5.1、 str() 函数将值转化为适于人阅读的形式,以可打印的字符串表示
>>> ne_zha={'英雄名字': '哪吒', '最大生命': 7268, '生命成长': 270.4, '初始生命': 3483, '最大法力': 1808}
>>> str(ne_zha)
"{'英雄名字': '哪吒', '最大生命': 7268, '生命成长': 270.4, '初始生命': 3483, '最大法力': 1808}"
5.2、 len() 函数计算字典元素个数,即键的总数
>>> len(ne_zha)
5
5.3、 type() 函数返回输入的变量类型,如果变量是字典就返回字典类型
>>> type(ne_zha)
<class 'dict'>
5.4、copy() 函数返回一个字典的浅复制,不能直接等于,只能通过copy方法
>>> ne_zha_copy = ne_zha.copy()
>>> ne_zha_copy
{'英雄名字': '哪吒', '最大生命': 7268, '生命成长': 270.4, '初始生命': 3483, '最大法力': 1808}
5.5、keys(), 函数以列表返回一个字典所有的键
>>> ne_zha.keys()
dict_keys(['英雄名字', '最大生命', '生命成长', '初始生命', '最大法力'])
5.6、values() 函数以列表返回字典中的所有值。
>>> ne_zha.values()
dict_values(['哪吒', 7268, 270.4, 3483, 1808])
5.7、items() 函数以列表返回可遍历的(键, 值) 元组数组
>>> for key, value in ne_zha.items():
print("key = ", key, ", value = ", value)
key = 英雄名字 , value = 哪吒
key = 最大生命 , value = 7268
key = 生命成长 , value = 270.4
key = 初始生命 , value = 3483
key = 最大法力 , value = 1808
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)