# 定义字典:
# 定义一个空字典
my_dict = {}
# 定义一个包含不同类型键值对的字典
my_dict = {'name': 'John', 'age': 30, 1: 'a', 2: 'b', 3: 'c'}
print(my_dict) # 输出:{'name': 'John', 'age': 30, 1: 'a', 2: 'b', 3: 'c'}
# 定义一个嵌套字典(字典中包含字典)
my_dict = {'person': {'name': 'John', 'age': 30}, 'letters': {1: 'a', 2: 'b', 3: 'c'}}
print(my_dict) # 输出:{'person': {'name': 'John', 'age': 30}, 'letters': {1: 'a', 2: 'b', 3: 'c'}}
# 循环构造函数
my_dict = {}
# 假设我们有一个列表,其中每个元素都是一个键值对的元组
items = [('name', 'John'), ('age', 30), ('gender', 'male')]
# 使用 for 循环将键值对插入到字典中
for key, value in items:
my_dict[key] = value
print(my_dict) # 输出: {'name': 'John', 'age': 30, 'gender': 'male'}
my_dict = {}
# 假设我们有一个列表,其中每个元素都是一个键值对的元组
items = [('name', 'John'), ('age', 30), ('gender', 'male')]
# 使用 dict() 构造函数将键值对插入到字典中
my_dict = dict(items)
print(my_dict) # 输出: {'name': 'John', 'age': 30, 'gender': 'male'}
# 访问元素:
my_dict = {'name': 'John', 'age': 30}
# 访问字典中的一个元素
print(my_dict['name']) # 输出: John
print(my_dict['age']) # 输出: 30
# 访问字典中的一个不存在的元素
# print(my_dict['gender']) # 输出: KeyError: 'gender'
# 修改元素:
my_dict = {'name': 'John', 'age': 30}
# 修改字典中的一个元素
my_dict['age'] = 31
print(my_dict) # 输出: {'name': 'John', 'age': 31}
# 添加一个新的键值对
my_dict['gender'] = 'male'
print(my_dict) # 输出: {'name': 'John', 'age': 31, 'gender': 'male'}
# 删除元素:
my_dict = {'name': 'John', 'age': 30}
# 使用del关键字删除元素
# del my_dict['age333'] # 如果不存在对应的key,抛异常:KeyError: 'gender'
print(my_dict) # 输出: {'name': 'John'}
# 使用pop()方法删除元素
my_dict.pop('name')
print(my_dict) # 输出: {}
# 长度:
my_dict = {'name': 'John', 'age': 30}
# 获取字典的长度
print(len(my_dict)) # 输出: 2
my_dict = {'name': 'John', 'age': 30}
# 循环遍历:
# 遍历字典中的键
for key in my_dict.keys():
print(key)
# 遍历字典中的值
for value in my_dict.values():
print(value)
# 遍历字典中的键值对
for key, value in my_dict.items():
print(key, value)
# 字典方法:
my_dict = {'name': 'John', 'age': 30}
# keys()方法
print(my_dict.keys()) # 输出: dict_keys(['name', 'age'])
# values()方法
print(my_dict.values()) # 输出: dict_values(['John', 30])
# items()方法
print(my_dict.items()) # 输出: dict_items([('name', 'John'), ('age', 30)])
# get()方法
print(my_dict.get('age')) # 输出: 30
print(my_dict.get('gender')) # 输出: None
print(my_dict.get('gender', 'unknown')) # 输出: unknown
# setdefault()方法
print(my_dict.setdefault('gender', 'male')) # 输出: male
print(my_dict) # 输出: {'name': 'John', 'age': 30, 'gender': 'male'}
# update()方法
another_dict = {'gender': 'male', 'country': 'USA'}
my_dict.update(another_dict) # 如果两个字典中有相同的键,那么my_dict中的值将被更新为another_dict中的值
print(my_dict) # 输出: {'name': 'John', 'age': 30, 'gender': 'male', 'country': 'USA'}
# copy()方法
my_dict_copy = my_dict.copy()
print(my_dict_copy) # 输出: {'name': 'John', 'age': 30, 'gender': 'male', 'country': 'USA'}
# clear()方法
my_dict.clear()
print(my_dict) # 输出: {}