python进阶系列-03 字典

Python字典深入解析
本文介绍了Python字典的创建、访问、修改、删除等操作,包括键值对、循环遍历、字典复制、合并及嵌套使用。通过示例代码详细讲解了字典的各种用法,帮助读者掌握这一编程大杀器。

字典dict,编程大杀器,掌握之,佛挡杀佛 魔来斩魔!

字典是一个无序可变和索引集合。 一个字典由多个键值对组成。 每个键值对将(key)映射到其关联的值(value)。 字典是用大括号{}来声明。 每个 key 和它的 value
之间用冒号 (:) 分隔,item之间用冒号分隔逗号:。如下:

my_dict = {
   
   
    "name": "Max",
    "age": 28,
    "city": "New York"
}

创建字典

使用大括号{}创建字典,或者使用内建的 dict() 函数。

代码:

my_dict = {
   
   "name": "Max", "age": 28, "city": "New York"}
print(my_dict)

# 或者使用 dict 函数,注意:不需要引号
my_dict_2 = dict(name="Lisa", age=27, city="Boston")
print(my_dict_2)

结果:

{'name': 'Max', 'age': 28, 'city': 'New York'}
{'name': 'Lisa', 'age': 27, 'city': 'Boston'}

访问字典

代码:

my_dict = {
   
   "name": "Max", "age": 28, "city": "New York"}
name_in_dict = my_dict["name"]
print(name_in_dict)

# 如果 key 不存在,会抛出 KeyError
# print(my_dict["lastname"])

结果:

Max

注意: 如果 key 不存在,会抛出 KeyError

增加或者修改字典

只需要简单地添加或者访问一个 key 并为它赋值。

代码:

my_dict = {
   
   "name": 
### Python字典进阶用法 在Python中,字典是一种非常强大的数据结构,它允许以键值对的形式存储数据。以下是一些关于字典进阶用法,这些技巧可以帮助开发者更高效地使用字典[^2]。 #### 1. 默认字典(`defaultdict`) `collections.defaultdict` 是 `collections` 模块中的一个类,它为字典提供了一个默认值,避免了在访问不存在的键时抛出异常的情况。 ```python from collections import defaultdict # 创建一个默认值为列表的字典 dd = defaultdict(list) dd['a'].append(1) dd['a'].append(2) print(dd) # 输出: defaultdict(<class 'list'>, {'a': [1, 2]}) ``` #### 2. 嵌套字典 嵌套字典是指在一个字典中包含另一个字典作为其值。这种结构非常适合表示多维数据。 ```python nested_dict = { 'user1': {'name': 'Alice', 'age': 25}, 'user2': {'name': 'Bob', 'age': 30} } print(nested_dict['user1']['name']) # 输出: Alice ``` #### 3. 字典推导式 字典推导式是生成字典的一种简洁方式,类似于列表推导式。 ```python squares = {x: x**2 for x in range(5)} print(squares) # 输出: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16} ``` #### 4. 使用`setdefault`方法 `setdefault` 方法可以用来设置默认值,如果键不存在则添加该键,并返回默认值。 ```python d = {} d.setdefault('key', []).append('value') print(d) # 输出: {'key': ['value']} ``` #### 5. 合并字典Python 3.5及以上版本中,可以使用解包操作符 `**` 来合并两个字典。 ```python dict1 = {'a': 1, 'b': 2} dict2 = {'b': 3, 'c': 4} merged_dict = {**dict1, **dict2} print(merged_dict) # 输出: {'a': 1, 'b': 3, 'c': 4} ``` #### 6. 字典视图对象 从Python 3开始,字典的 `.keys()`、`.values()` 和 `.items()` 方法返回的是视图对象,而不是列表。这使得它们更加高效。 ```python d = {'a': 1, 'b': 2} keys_view = d.keys() print(keys_view) # 输出: dict_keys(['a', 'b']) ``` #### 7. 字典排序 可以通过 `sorted()` 函数对字典进行排序,通常是对键或值进行排序。 ```python d = {'apple': 10, 'orange': 20, 'banana': 5} sorted_d = dict(sorted(d.items(), key=lambda item: item[1])) print(sorted_d) # 输出: {'banana': 5, 'apple': 10, 'orange': 20} ``` ### 总结 以上列举了Python字典的一些进阶用法,包括 `defaultdict`、嵌套字典字典推导式、`setdefault` 方法、合并字典字典视图对象以及字典排序等。这些技巧能够帮助开发者更灵活地处理字典数据结构[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值