python-字典dict

python-字典dict,第1张

文章目录
      • 1、基本概念
      • 2、访问字典
      • 3、字典修改
      • 4、字典删除
      • 5、字典内置函数和方法

1、基本概念

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/867797.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-12
下一篇2022-05-12

发表评论

登录后才能评论

评论列表(0条)

    保存