字典(Dictionary)是 Python 中另一个非常有用的数据结构,它是一个无序的键值对(key-value pair)集合。字典使用大括号 {}
表示,其中的键值对用冒号 :
分隔,键值对间用逗号 ,
分隔。字典中的键必须是不可变类型,例如整数、浮点数、字符串、元组等。字典中的值可以是任意类型。
创建字典的方法有两种:
{}
包含键值对,例如:person = {"name": "Alice", "age": 30, "city": "New York"} print(person) # 输出:{'name': 'Alice', 'age': 30, 'city': 'New York'}
dict()
函数创建空字典或将其他序列转换为字典,例如:empty_dict = dict() print(empty_dict) # 输出:{} key_value_list = [("name", "Alice"), ("age", 30), ("city", "New York")] person = dict(key_value_list) print(person) # 输出:{'name': 'Alice', 'age': 30, 'city': 'New York'}
访问字典元素的方法有两种:
person = {"name": "Alice", "age": 30, "city": "New York"} print(person["name"]) # 输出:Alice
如果键不存在,会抛出 KeyError 异常。
get()
方法,如果键不存在,返回一个默认值(可选),例如:person = {"name": "Alice", "age": 30, "city": "New York"} print(person.get("name")) # 输出:Alice print(person.get("country", "USA")) # 输出:USA
修改字典元素的值,直接使用键作为下标并赋予新值,例如:
person = {"name": "Alice", "age": 30, "city": "New York"} person["age"] = 31 print(person) # 输出:{'name': 'Alice', 'age': 31, 'city': 'New York'}
person = {"name": "Alice", "age": 30, "city": "New York"} person["country"] = "USA" print(person) # 输出:{'name': 'Alice', 'age': 30, 'city': 'New York', 'country': 'USA'}
del
语句和键作为下标。person = {"name": "Alice", "age": 30, "city": "New York"} del person["age"] print(person) # 输出:{'name': 'Alice', 'city': 'New York'}
如果键不存在,会抛出 KeyError 异常。
keys()
:返回字典中所有键的视图。person = {"name": "Alice", "age": 30, "city": "New York"} keys = person.keys() print(keys) # 输出:dict_keys(['name', 'age', 'city'])
values()
:返回字典中所有值的视图。person = {"name": "Alice", "age": 30, "city": "New York"} values = person.values() print(values) # 输出:dict_values(['Alice', 30, 'New York'])
items()
:返回字典中所有键值对的视图。person = {"name": "Alice", "age": 30, "city": "New York"} items = person.items() print(items)
输出:
dict_items([(‘name’, ‘Alice’), (‘age’, 30), (‘city’, ‘New York’)])
update()
:用一个字典更新另一个字典,如果键已经存在,则更新值;如果键不存在,则添加键值对。person = {"name": "Alice", "age": 30, "city": "New York"} new_info = {"age": 31, "country": "USA"} person.update(new_info) print(person) # 输出:{'name': 'Alice', 'age': 31, 'city': 'New York', 'country': 'USA'}
pop()
:删除并返回指定键的值,如果键不存在,返回默认值(可选)。person = {"name": "Alice", "age": 30, "city": "New York"} age = person.pop("age") print(age) # 输出:30 print(person) # 输出:{'name': 'Alice', 'city': 'New York'}
popitem()
:删除并返回字典中的一个键值对(Python3.7+,返回最后一个键值对;Python3.6及之前版本,返回随机键值对)。person = {"name": "Alice", "age": 30, "city": "New York"} item = person.popitem() print(item) # 输出:('city', 'New York') print(person) # 输出:{'name': 'Alice', 'age': 30}
clear()
:删除字典中所有元素。person = {"name": "Alice", "age": 30, "city": "New York"} person.clear() print(person) # 输出:{}
遍历字典的方法有两种:
person = {"name": "Alice", "age": 30, "city": "New York"} for key in person: print(key, person[key])
或者使用 keys()
方法:
person = {"name": "Alice", "age": 30, "city": "New York"} for key in person.keys(): print(key, person[key])
person = {"name": "Alice", "age": 30, "city": "New York"} for key, value in person.items(): print(key, value)
希望这些示例能帮助你更好地理解和学习 Python 字典。如果有任何问题,请随时提问!