Python字典
2023-12-20 18:28:57
用途
dictionary
(字典)是通常?于存储“键值对” 数据
定义
用?{}
?定义,键与值之间用:分隔,键值对之间使用?,
?分隔,
- 键
key
是索引,值value
是数据,键必须是唯一的, - 值可以取任何数据类型,但?键?只能使用字符串、数字或元组,
- 通常用于存储描述一个
物体
的相关信息 - 字典属于可变类型
# 定义一个空字典
dict1 = {}
dict2 = dict()
xiaoming = {"name": "小明",
"age": 18,
"gender": True,
"height": 1.75}
#最好一个键值对占一行
字典的常用操作?
取值
print(xiaoming["name"])
# 在取值的时候,如果指定的key不存在,程序会报错!
# print(xiaoming["name123"])
增加/修改
# 如果key不存在,会新增键值对
xiaoming["age"] = 18
# 如果key存在,会修改已经存在的键值对
xiaoming["name"] = "小小明"
删除
xiaoming.pop("name")
# 在删除指定键值对的时候,如果指定的key不存在,程序会报错!
# xiaoming.pop("name123")
del xiaoming['Name'] # 删除键 'Name'
del xiaoming # 删除字典
xiaoming.clear() # 清空字典
统计键值对数量
print(len(xiaoming))
合并字典
temp_dict = {"height": 1.75,
???????????? "age": 20}
# 注意:如果被合并的字典中包含已经存在的键值对,会覆盖原有的键值对
xiaoming.update(temp_dict)
删除字典
del xiaoming['Name'] # 删除键 'Name'
del xiaoming # 删除字典
xiaoming.clear() # 清空字典
?其他
迭代遍历字典(传统方式)
xiaoming_dict = {"name": "小明",
"qq": "123456",
"phone": "10086"}
# 变量k是每一次循环中,获取到的键值对的key
for k in xiaoming_dict:
print("%s - %s" % (k, xiaoming_dict[k]))
遍历字典的元素(key,value)
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for item in dict1.items():
print(item)
字典拆包
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for key, value in dict1.items():
print(f'{key} = {value}')
?
应用场景
- 尽管可以使用?
for in
?遍历?字典 - 但是在开发中,更多的应用场景是:
- 使用?多个键值对,存储?描述一个?
物体
?的相关信息?—— 描述更复杂的数据信息 - 将?多个字典?放在?一个列表?中,再进行遍历,在循环体内部针对每一个字典进行?相同的处理
- 使用?多个键值对,存储?描述一个?
# 使用 多个键值对,存储 描述一个 物体 的相关信息 —— 描述更复杂的数据信息
# 将 多个字典 放在 一个列表 中,再进行遍历
card_list = [
{"name": "张三",
"qq": "12345",
"phone": "110"},
{"name": "李四",
"qq": "54321",
"phone": "10086"}
]
for card_info in card_list:
print(card_info)
字典和列表的区别
- 列表?是?有序?的对象集合
- 字典?是?无序?的对象集合
字典与集合的区别
- 集合中只有值?
- 字典是包含键与值的键值对
文章来源:https://blog.csdn.net/weixin_45490820/article/details/135066938
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!