字典的创建
使用大括号
{}
创建一个空字典:my_dict = {}
使用键值对初始化字典:
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
使用
dict()
构造函数创建字典:my_dict = dict(name='Alice', age=25, city='Los Angeles')
从列表或元组中创建字典:
key_value_pairs = [('name', 'Bob'), ('age', 35), ('city', 'Chicago')] my_dict = dict(key_value_pairs)
使用字典推导式创建字典:
my_dict = {key: value for key, value in [('name', 'Eve'), ('age', 28), ('city', 'Houston')]}
增添元素
直接指定一个新的键值对:
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} my_dict['email'] = 'john@example.com'
使用
update()
方法添加多个键值对:my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} my_dict.update({'email': 'john@example.com', 'phone': '555-555-5555'})
使用字典推导式创建一个新的字典并添加元素:
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} new_data = {'email': 'john@example.com', 'phone': '555-555-5555'} my_dict = {**my_dict, **new_data}
使用
setdefault()
方法,如果键不存在则设置默认值:my_dict = {'name': 'John', 'age': 30} my_dict.setdefault('email', 'john@example.com')
使用
defaultdict
来添加元素,如果键不存在会自动创建默认值:from collections import defaultdict my_dict = defaultdict(int) # 默认值为整数 my_dict['count'] += 1 # 自动创建并增加计数
删除元素
使用
del
语句删除指定键的键值对:my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} del my_dict['age'] # 删除键为'age'的键值对
使用
pop()
方法删除指定键的键值对,并返回其值:my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} age = my_dict.pop('age') # 删除并返回'age'的值
使用
popitem()
方法删除最后一个键值对,并返回一个元组:my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} key, value = my_dict.popitem() # 删除并返回最后一个键值对
使用
clear()
方法清空整个字典:my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} my_dict.clear() # 清空字典,变成一个空字典
使用
dict.pop()
方法删除键,并提供默认值以防键不存在:my_dict = {'name': 'John', 'city': 'New York'} age = my_dict.pop('age', 0) # 删除'age',如果不存在则返回默认值0
修改元素
直接赋值: 您可以通过将新值分配给字典中的键来直接修改元素
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} # 直接赋值来修改 'age' 键的值 my_dict['age'] = 31
update() 方法: 使用
update()
方法可以更新一个或多个键值对。my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} # 使用 update() 方法同时更新 'age' 和 'city' my_dict.update({'age': 32, 'city': 'Los Angeles'})
字典推导式: 您可以使用字典推导式来创建一个新字典,根据原始字典的键值对进行修改。
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} # 使用字典推导式修改字典中的值 my_dict = {key: 'Amy' if key == 'name' else value for key, value in my_dict.items()} my_dict = {key: 31 if key == 'age' else value for key, value in my_dict.items()} my_dict = {key: 'Los Angeles' if key == 'city' else value for key, value in my_dict.items()}
查询操作
使用键来获取值: 使用字典的键来检索相关的值。
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} name = my_dict['name'] age = my_dict['age']
使用
get()
方法: 使用get()
方法来获取键对应的值。这种方法可以在键不存在时提供一个默认值。my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} name = my_dict.get('name') age = my_dict.get('age')
使用
in
操作符检查键是否存在: 您可以使用in
操作符来检查字典中是否包含某个键。my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} if 'age' in my_dict: age = my_dict['age'] else: age = None
使用
keys()
方法来获取所有键: 使用keys()
方法获取字典中所有键的列表,然后可以遍历列表进行查询。my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} for key in my_dict.keys(): if key == 'name': name = my_dict[key]
使用
values()
方法来获取所有值: 使用values()
方法获取字典中所有值的列表,然后可以遍历列表进行查询。my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} for value in my_dict.values(): if value == 'John': name = value
键与值相关的函数
keys()
方法: 返回一个包含字典所有键的视图(view),这个视图可以被用于迭代或转换为列表。my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} keys = my_dict.keys() # 返回一个视图对象 key_list = list(my_dict.keys()) # 将视图转换为列表
values()
方法: 返回一个包含字典所有值的视图,同样可以用于迭代或转换为列表。my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} values = my_dict.values() # 返回一个视图对象 value_list = list(my_dict.values()) # 将视图转换为列表
items()
方法: 返回一个包含字典所有键值对(元组形式)的视图。my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} items = my_dict.items() # 返回一个视图对象 item_list = list(my_dict.items()) # 将视图转换为列表
get()
方法: 用于获取指定键的值,如果键不存在,可以提供一个默认值作为参数。my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} name = my_dict.get('name') # name = 'John' email = my_dict.get('email', 'N/A') # 如果'email'不存在,返回'N/A'
pop()
方法: 用于删除指定键的键值对,并返回相应的值。\my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} age = my_dict.pop('age') # 删除'age'键值对,age = 30
返回迭代器
返回一个迭代器遍历字典的键:
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} key_iterator = iter(my_dict.keys()) # 将键视图转换为迭代器 for key in key_iterator: print(key)
返回一个迭代器遍历字典的值:
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} value_iterator = iter(my_dict.values()) # 将值视图转换为迭代器 for value in value_iterator: print(value)
返回一个迭代器遍历字典的键值对:
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'} item_iterator = iter(my_dict.items()) # 将键值对视图转换为迭代器 for key, value in item_iterator: print(key, value)
zip()
函数
zip()
函数是Python内置函数之一,用于将多个可迭代对象(例如列表、元组等)组合成一个元组的序列,以便进行迭代或其他操作。zip()
函数的基本语法如下:zip(iterable1, iterable2, ...)
iterable1
,iterable2
, …:要合并的可迭代对象,可以是多个,用逗号分隔。names = ['Alice', 'Bob', 'Charlie'] scores = [95, 88, 75] # 使用 zip() 合并两个列表 zipped_data = zip(names, scores) # 遍历合并后的迭代器 for name, score in zipped_data: print(name, score)