零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门
一.Python 字典 dict 简介
前面的课程讲解了字符串 str / 列表 list / 元组 tuple ,还有最后一种比较重要的数据类型也需要介绍,那就是Python 字典,俗称:dict.
Python 中的字典可与字符串 / 列表 / 元组不同,因为字典 dict 需要由两部分组成,分别是 key 和 value ,简称:键值对,下面具体讲解一下关于字典的特点:
- 1.由一个或者多个键值对构成,键值对的类型可以不相同也可以相同;
- 2.字典中的键值对需要写在 {} 中括号内部,键值对中的 key 和 value 用 : 隔开,键值对与键值对之间用逗号隔开;
- 3.字典是一个无序的集合;
- 4.字典中 key 具有唯一性;
二.Python 字典 dict 定义
# !usr/bin/env python
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:python字典dict.py
@Time:2021/3/23 00:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
"""
dict1 = dict() # 定义一个空字典
print(dict1)
print(type(dict1)) # 输出字典类型 dict
print(len(dict1)) # 获取字典键值对数量
print("***"*20) # 小窍门:直接打印60 个 *
#字典可以有一个或者多个键值对构成,键值对与键值对之间使用逗号隔开
# "name" / "age" / "sing_gou" 是key
# "隔壁老王" / 42 / True 是value
dict2 = {"name":"隔壁老王", "age":42, "singe_dog":True}
print(dict2)
print(type(dict2)) # 输出字典类型 dict
print(len(dict2)) # 获取字典键值对数量
print("***"*20) # 小窍门:直接打印60 个 *
# 字典中出现了两个一样的key:"age",默认后面的value会覆盖前面的value
dict3 = {"name":"隔壁老王", "age":42, "singe_dog":True,"age":15}
print(dict3)
'''
输出结果:
{}
<class 'dict'>
0
************************************************************
{'name': '隔壁老王', 'age': 42, 'singe_dog': True}
<class 'dict'>
3
************************************************************
{'name': '隔壁老王', 'age': 15, 'singe_dog': True}
'''
注意:如果字典中出现相同的 key 值,只有最后一个 key / value 有效,前面相同的 key / value 会被覆盖,这就是字典 dict 所谓的唯一性.
三.Python 字典 dict 增加数据
如果想要在字典中添加数据,直接赋值就可以,比较简单,跟上示例代码演示一波:
# !usr/bin/env python
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:python字典dict.py
@Time:2021/3/23 00:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
"""
dict1 = dict() # 定义一个空字典
print(dict1) # 输出一个空的字典
dict1["name"] = "猿说python" # 添加键值对 "name":"猿说python" 到 dict1
dict1["url"] = "shuopython.com" # 添加键值对 "url":"shuopython.com" 到 dict1
print(len(dict1)) # 获取字典键值对数量
print(dict1) # 输出整个字典
'''
输出结果:
{}
2
{'name': '猿说python', 'url': 'shuopython.com'}
'''
四.Python 字典 dict 删除数据
- 字典是无序的,每个键值对没有索引值,这也是字典与字符串/列表/元祖的区别;
- 删除字典中的数据,需要根据键值对中的 key 值来删除对应的键值对,删除使用 del 关键字;
dict1 = {"name":"zhangsan","age":38,"sing_dog":True} # 定义一个字典
print(dict1) # 输出删除之前的字典
# 删除key等于"name"对应的键值对
del dict1["name"]
print(dict1)
# 删除key等于"age"对应的键值对
del dict1["age"]
print(dict1)
# 删除key等于"sing_dog"对应的键值对
del dict1["sing_dog"]
print(dict1)
'''
输出结果:
{'name': 'zhangsan', 'age': 38, 'sing_dog': True}
{'age': 38, 'sing_dog': True}
{'sing_dog': True}
{}
'''
五.Python 字典 dict 修改数据
- 字典是无序的,每个键值对没有索引值,这也是字典与字符串/列表/元祖的区别;
- 修改字典中的键值对数据,操作和删除数据一样,直接根据键值对中的 key 值操作即可;
dict1 = {"name":"zhangsan","age":38,"sing_dog":True} # 定义一个字典
print(dict1) # 输出字典
# 修改key等于"name"对应的value
dict1["name"] = "隔壁老王"
print(dict1) # 输出字典
# 修改key等于"age"对应的value
dict1["age"] = 18
print(dict1) # 输出字典
# 修改key等于"sing_dog"对应的value
dict1["sing_dog"] = False
print(dict1) # 输出字典
'''
输出结果:
{'name': 'zhangsan', 'age': 38, 'sing_dog': True}
{'name': '隔壁老王', 'age': 38, 'sing_dog': True}
{'name': '隔壁老王', 'age': 18, 'sing_dog': True}
{'name': '隔壁老王', 'age': 18, 'sing_dog': False}
'''
六.Python 字典 dict 查询数据
- 字典是无序的,每个键值对没有索引值,这也是字典与字符串/列表/元祖的区别;
- 查询字典中的键值对数据,操作和删除数据/修改数据一样,直接根据键值对中的 key 值操作即可;
dict1 = {"name":"zhangsan","age":38,"sing_dog":True} # 定义一个字典
print(dict1) # 输出字典
# 查询key等于"name"对应的value
print(dict1["name"])
# 查询key等于"age"对应的value
print(dict1["age"])
# 查询key等于"sing_dog"对应的value
print(dict1["sing_dog"])
'''
输出结果:
{'name': 'zhangsan', 'age': 38, 'sing_dog': True}
zhangsan
38
True
'''
七.Python 字典 dict 常用函数
- 1.update 函数 – 将一个字典添加到另外一个字典的末尾,把两个字典合并到一个字典;
- 2.clear 函数 – 清空字典;
dict1 = {"name":"zhangsan","age":38} # 定义一个字典
print(dict1) # 输出字典
dict2 = {"sing_dog":True} # 定义一个字典
print(dict2)
print("***"*20) # 小窍门:直接答应60个*
# update()函数:将一个字典添加到另外一个字典的末尾
dict1.update(dict2)
print(dict1) # 输出字典
print("***"*20) # 小窍门:直接答应60个*
# 情况字典dict1
dict1.clear()
print(dict1) # 空字典
# 情况字典dict2
dict2.clear()
print(dict2) # 空字典
'''
输出结果:
{'name': 'zhangsan', 'age': 38}
{'sing_dog': True}
************************************************************
{'name': 'zhangsan', 'age': 38, 'sing_dog': True}
************************************************************
{}
{}
'''
八.Python 字典 dict 遍历
1.使用 dict.items 方法遍历字典
dict.items 方法的返回值是一个元组 tuple,等价于遍历元组 tuple ,示例代码如下:
dict1 = {"name":"zhangsan","age":38,"sing_dog":True,"height":"155cm"} # 定义一个字典
print(dict1) # 输出字典
print("***"*20) # 小窍门:直接答应60个*
# dict.items()方法,返回元组数据,类似遍历元组操作
for x in dict1.items():
print(x,type(x))
print("***" * 20) # 小窍门:直接答应60个*
# dict.items()方法经典写法,直接获取key/values
for x,y in dict1.items():
print(x,y)
'''
输出结果:
{'name': 'zhangsan', 'age': 38, 'sing_dog': True, 'height': '155cm'}
************************************************************
('name', 'zhangsan') <class 'tuple'>
('age', 38) <class 'tuple'>
('sing_dog', True) <class 'tuple'>
('height', '155cm') <class 'tuple'>
************************************************************
name zhangsan
age 38
sing_dog True
height 155cm
'''
2.根据字典中key或者value遍历字典
dict1 = {"name":"zhangsan","age":38,"sing_dog":True,"height":"155cm"} # 定义一个字典
print(dict1) # 输出字典
print("***"*20) # 小窍门:直接答应60个*
# 方法一:根据key值遍历
for key in dict1.keys():
print(key ,dict1[key]) # dict1[key] 等价键值对中key对应的value
print("***"*20) # 小窍门:直接答应60个*
# 方法二:根据value值遍历
for value in dict1.values():
print(value )
'''
输出结果:
{'name': 'zhangsan', 'age': 38, 'sing_dog': True, 'height': '155cm'}
************************************************************
name zhangsan
age 38
sing_dog True
height 155cm
************************************************************
zhangsan
38
True
155cm
'''
九.猜你喜欢
- Python 简介
- Python Pycharm Anacanda 区别
- Python2.x 和 Python3.x,如何选择?
- Python 配置环境
- Python Hello World入门
- Python 代码注释
- Python 中文编码
- Anaconda是什么?Anconda下载安装教程
- Pycharm 提示:this license **** has been cancelled
- Pycharm设置开发模板/字体大小/背景颜色
- Python 列表 list
- Python 元组 tuple
ChatGPT 3.5 国内中文镜像站免费使用啦
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容