【Python入门与进阶】Python的字典Dictionary

字典(Dictionary)是 Python 中一种非常重要且强大的内置数据类型,用于存储键值对(key-value pairs)。字典的键必须是不可变的(例如,字符串、数字或元组),而值可以是任何类型。字典是无序的,从 Python 3.7 开始,字典保持插入顺序。

创建字典

可以使用大括号 {}dict() 函数来创建字典:

# 使用大括号
dict1 = {"name": "Alice", "age": 25, "city": "New York"}
print(dict1)  # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York'}

# 使用 dict() 函数
dict2 = dict(name="Bob", age=30, city="Los Angeles")
print(dict2)  # 输出: {'name': 'Bob', 'age': 30, 'city': 'Los Angeles'}

访问字典元素

可以通过键来访问字典中的值:

dict1 = {"name": "Alice", "age": 25, "city": "New York"}
print(dict1["name"])  # 输出: Alice
print(dict1["age"])   # 输出: 25

修改字典

可以通过键来修改字典中的值或添加新的键值对:

dict1 = {"name": "Alice", "age": 25, "city": "New York"}
dict1["age"] = 26  # 修改值
dict1["email"] = "alice@example.com"  # 添加新键值对
print(dict1)  # 输出: {'name': 'Alice', 'age': 26, 'city': 'New York', 'email': 'alice@example.com'}

删除字典元素

可以使用 del 语句或 pop() 方法删除字典中的元素:

dict1 = {"name": "Alice", "age": 25, "city": "New York"}

# 使用 del 语句
del dict1["age"]
print(dict1)  # 输出: {'name': 'Alice', 'city': 'New York'}

# 使用 pop() 方法
city = dict1.pop("city")
print(city)   # 输出: New York
print(dict1)  # 输出: {'name': 'Alice'}

字典的方法

字典提供了许多内置方法来操作数据:

keys(), values(), items()
  • keys() 返回所有键的视图。
  • values() 返回所有值的视图。
  • items() 返回所有键值对的视图。
dict1 = {"name": "Alice", "age": 25, "city": "New York"}

print(dict1.keys())    # 输出: dict_keys(['name', 'age', 'city'])
print(dict1.values())  # 输出: dict_values(['Alice', 25, 'New York'])
print(dict1.items())   # 输出: dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])
get()

get() 方法返回指定键的值,如果键不存在则返回默认值(默认是 None):

dict1 = {"name": "Alice", "age": 25, "city": "New York"}

print(dict1.get("name"))       # 输出: Alice
print(dict1.get("email"))      # 输出: None
print(dict1.get("email", "Not Found"))  # 输出: Not Found
update()

update() 方法用于更新字典,使用另一个字典或可迭代对象中的键值对。

dict1 = {"name": "Alice", "age": 25}
dict2 = {"age": 26, "city": "New York"}

dict1.update(dict2)
print(dict1)  # 输出: {'name': 'Alice', 'age': 26, 'city': 'New York'}
setdefault()

setdefault() 方法与 get() 类似,但如果键不存在于字典中,会将键添加到字典中并设置为默认值。

dict1 = {"name": "Alice", "age": 25}

email = dict1.setdefault("email", "alice@example.com")
print(email)  # 输出: alice@example.com
print(dict1)  # 输出: {'name': 'Alice', 'age': 25, 'email': 'alice@example.com'}

遍历字典

可以使用 for 循环遍历字典的键、值或键值对:

dict1 = {"name": "Alice", "age": 25, "city": "New York"}

# 遍历键
for key in dict1:
    print(key, dict1[key])

# 遍历键值对
for key, value in dict1.items():
    print(key, value)

字典的嵌套

字典可以包含另一个字典作为值,形成嵌套字典:

nested_dict = {
    "person1": {"name": "Alice", "age": 25},
    "person2": {"name": "Bob", "age": 30}
}

print(nested_dict["person1"]["name"])  # 输出: Alice

小结

字典在 Python 中是一种非常灵活且强大的数据结构,适用于需要快速查找、插入和删除操作的场景。通过掌握字典的创建、访问、修改、删除和遍历方法,可以高效地处理各种键值对数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值