字典
字典通常用于存储描述一个物体的相关信息。
字典的元素都是无序的,所以字典没有索引。
字典用 {} 定义。
字典使用键值对存储数据,键 key 是索引,值 value 是数据。键和值之间用 : 分隔。
键必须是字符串、数字或元组。值可以是任意数据类型。多个键值对之间用逗号分隔。
键必须是唯一的,而值可以重复。
程序示例:
dict1 = {"name": "xiaoming",
"age": 30}
print(dict1) # {'name': 'xiaoming', 'age': 30}
print(type(dict1)) # <class 'dict'>
print(dict1["name"]) # xiaoming
print(type(dict1["name"])) # <class 'str'>
print(dict1["age"]) # 30
print(type(dict1["age"])) # <class 'int'>
print(len(dict1)) # 2
程序示例:
# 键为数字
dict2 = {1: 'one', 2: 'two', 3: 'three'}
print(dict2) # {1: 'one', 2: 'two', 3: 'three'}
程序示例:
# 键为元组
dict3 = {('one', 'two'): 3, ('three', 'four'): 'five'}
print(dict3) # {('one', 'two'): 3, ('three', 'four'): 'five'}
print(dict3[('one', 'two')]) # 3
程序示例:
# 创建空字典的两种方式
dict1 = {}
dict2 = dict()
print(dict1) # {}
print(dict2) # {}
print(len(dict1)) # 0
print(len(dict2)) # 0
print(type(dict1)) # <class 'dict'>
print(type(dict2)) # <class 'dict'>
程序示例:
# 键不唯一时,后写的键会覆盖前面写的键
dict1 = {"name": "xiaoming",
"age": 30,
"name": "yea"}
print(dict1) # {'name': 'yea', 'age': 30}
程序示例:
# 新增键值对
dict1 = {"name": "xiaoming",
"age": 30, }
print(dict1) # {'name': 'xiaoming', 'age': 30}
dict1["address"] = "NanJing"
print(dict1) # {'name': 'xiaoming', 'age': 30, 'address': 'NanJing'}
程序示例:
# 获取键值对
dict1 = {"name": "xiaoming",
"age": 30, }
print(dict1) # {'name': 'xiaoming', 'age': 30}
print(dict1["name"]) # xiaoming
print(dict1["age"]) # 30
程序示例:
# 获取键值对
dict1 = {"name": "xiaoming",
"age": 30, }
print(dict1) # {'name': 'xiaoming', 'age': 30}
print(dict1["name"]) # xiaoming
print(dict1["age"]) # 30
程序示例:
# 修改键值对
dict1 = {"name": "xiaoming",
"age": 30, }
print(dict1) # {'name': 'xiaoming', 'age': 30}
dict1["name"] = "yea"
print(dict1["name"]) # yea
程序示例:
# 删除字典
dict1 = {"name": "xiaoming",
"age": 30, }
print(dict1) # {'name': 'xiaoming', 'age': 30}
del dict1
# print(dict1) # NameError: name 'dict1' is not defined. Did you mean: 'dict'?
程序示例:
# 成员运算符,判断字典是否存在某一个 key,不能判断某一个 value 是否存在
dict1 = {"name": "xiaoming",
"age": 30, }
print(dict1) # {'name': 'xiaoming', 'age': 30}
print("name" in dict1) # True
print("Age" in dict1) # False
程序示例:
# 遍历字典
dict1 = {"name": "xiaoming",
"age": 30,
"address": "NanJing"}
for i in dict1:
print(i)
结果:
name
age
address
程序示例:
# 遍历字典
dict1 = {"name": "xiaoming",
"age": 30,
"address": "NanJing"}
for i in dict1:
print(i, dict1[i])
结果:
name xiaoming
age 30
address NanJing
程序示例:
# 遍历字典
dict1 = {"name": "xiaoming",
"age": 30,
"address": "NanJing"}
print("-" * 30)
for k, v in dict1.items():
print(k, v)
print("-" * 30)
for k in dict1.keys():
print(k)
print("-" * 30)
for v in dict1.values():
print(v)
print("-" * 30)
print(dict1.items())
print(dict1.values())
print(dict1.keys())
print(type(dict1.items()))
print(type(dict1.values()))
print(type(dict1.keys()))
结果:
------------------------------
name xiaoming
age 30
address NanJing
------------------------------
name
age
address
------------------------------
xiaoming
30
NanJing
------------------------------
dict_items([('name', 'xiaoming'), ('age', 30), ('address', 'NanJing')])
dict_values(['xiaoming', 30, 'NanJing'])
dict_keys(['name', 'age', 'address'])
<class 'dict_items'>
<class 'dict_values'>
<class 'dict_keys'>
程序示例:
# 字典常用方法
dict1 = {"name": "xiaoming",
"age": 30,
"address": "NanJing"}
item = dict1.pop("address")
print(item) # NanJing
print(dict1) # {'name': 'xiaoming', 'age': 30}
程序示例:
# 字典常用方法
dict1 = {"name": "xiaoming",
"age": 30,
"address": "NanJing"}
print(dict1) # {'name': 'xiaoming', 'age': 30, 'address': 'NanJing'}
dict1.clear()
print(dict1) # {}
程序示例:
# 字典常用方法
dict1 = {"name": "xiaoming",
"age": 30,
"address": "NanJing"}
print(dict1) # {'name': 'xiaoming', 'age': 30, 'address': 'NanJing'}
dict2 = dict1.copy()
print(dict2) # {'name': 'xiaoming', 'age': 30, 'address': 'NanJing'}
浙公网安备 33010602011771号