Python字典

用途

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() # 清空字典

 其他

Python3 字典 | 菜鸟教程

迭代遍历字典(传统方式)

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)

字典和列表的区别

  • 列表 是 有序 的对象集合
  • 字典 是 无序 的对象集合

字典与集合的区别

  • 集合中只有值 
  • 字典是包含键与值的键值对

你可能感兴趣的:(python,开发语言)