毛狗句子网—你身边的句子专家

毛狗句子网—你身边的句子专家

python字典用法

59

Python字典是内置的、可变且无序的数据结构,适用于存储键值对。以下是其核心用法及注意事项:

一、基础语法

创建字典

- 使用花括号 `{}` 直接定义:

```python

my_dict = {'name': 'Alice', 'age': 25}

```

- 使用 `dict()` 函数:

```python

my_dict = dict(name='Bob', age=30)

```

- 通过可迭代对象创建:

```python

d = dict([('a', 1), ('b', 2)])

```

访问元素

- 通过键直接访问:

```python

print(my_dict['name']) 输出: Alice

```

- 使用 `get()` 方法避免 `KeyError`:

```python

print(my_dict.get('age')) 输出: 25

print(my_dict.get('gender', '未知')) 输出: 未知

```

修改元素

- 直接赋值添加或修改:

```python

my_dict['email'] = 'alice@example.com' 添加新键值对

my_dict['age'] = 26 修改已有键值对

```

二、常用操作

添加/删除键值对

- 添加:`my_dict['new_key'] = 'value'`

- 删除:`del my_dict['key']`

清空字典

- `my_dict.clear()`

复制字典

- 浅拷贝:`d2 = d1.copy()`

- 深拷贝:`d3 = copy.deepcopy(d1)`

从可迭代对象创建字典

- `dict.fromkeys(keys)`

- `dict(zip(keys, values))`

三、注意事项

键的约束

- 必须是不可变类型(如字符串、数字、元组)

- 同一字典中键不可重复

字典推导式

- 简洁创建字典:

```python

squares = {x: x 2 for x in range(5)} {0:0, 1:1, 2:4, 3:9, 4:16}

```

性能优化

- 访问速度快于列表(平均时间复杂度O(1))

- 适合需要频繁查找、修改的场景(如商品库存、员工绩效)

四、实战示例

商品库存管理

```python

inventory = {'手机': [5000, 100], '电脑': [8000, 50]}

def update_stock(item, quantity, operation="add"):

if operation == "add":

inventory[item] = [price, stock + quantity]

elif operation == "remove":

if item in inventory and inventory[item] >= quantity:

inventory[item] = [price, stock - quantity]

return inventory

示例:添加库存

inventory = update_stock('手机', 50, 'add')

print(inventory) 输出: {'手机': [5000, 150]}

示例:减少库存

inventory = update_stock('手机', 20, 'remove')

print(inventory) 输出: {'手机': [5000, 130]}

```

员工绩效统计

```python

employees = {'张三': [85, 22], '李四': [70, 18]}

def calculate_performance(employees):

return {name: score + attendance for name, (score, attendance) in employees.items()}

示例:计算总绩效

performance = calculate_performance(employees)

print(performance) 输出: {'张三': 103, '李四': 88}

```

通过以上方法,字典可灵活应对数据存储、查询和更新需求,是Python中不可或缺的数据结构。