Python字典操作

本文详细介绍了Python字典的各种操作,包括查询、修改、删除、排序以及如何将列表合并成字典。字典查询可以通过items()、直接使用key或get()函数实现。修改字典直接赋值,删除则需要确保key存在,排序可以使用sorted()函数,列表合并成字典可借助zip()和dict()函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1. 字典查询

1.1 使用 items()

1.2 直接查询 key

1.3 使用 get()

2. 字典修改

3. 字典删除

4. 字典排序

5. 列表合并成字典 - zip() 和 dict()


1. 字典查询

字典查询一般都是通过key来查找对应的value,可直接使用语句 dic[key] 获取value值。但是,反过来通过value值查询对应的key,会相对不那么直接。

当key和value具有一一对应的关系的时候,根据value来提取key也很重要。

比如,一个扑克牌牌面数值和对应分值的字典如下,key为牌面数值,value为对应分值。

sort_dic = {'2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, '10': 10, 'J': 11, 'Q': 12, 'K': 13, 'A': 14}

在有了key的情况下,获取对应分值很容易。比如使用 sort_dic['Q'],将返回 12

1.1 使用 items()

使用函数items(),将字典中的元素组织成 key-value对,然后比较value是否为需要的value,获取对应的key值。

for key, value in sort_dic.items():
    if value == 11:
        print(key)

# 输出为  J

1.2 直接查询 key

直接使用 key 值查询字典中的 value,key值必须是存在的,如果key值不存在,则会报错。

staff_list = {
    "Black Girl": [23, 'CFO', 20000],
    "Alex": [23, 'CEO', 25000],
    "Pei qi": [25, 'CTO', 20000],
    "大卫": [28, '讲师', 10000],
    "www": [25, '程序员', 5000],
}

print(staff_list["Alex"])  # 直接用key查询取出需要的信息
# 输出:[23, 'CEO', 25000]

print(staff_list["超人"])
# 输出:
Traceback (mo
Python 字典是一种非常灵活的数据结构,支持多种常见操作,包括增删改查等。以下是详细的教程说明: ### 增加键值对 可以通过直接赋值的方式向字典中添加新的键值对。如果键不存在,则会创建新的键值对;如果键已经存在,则会更新对应的值。 ```python my_dict = {} my_dict['key1'] = 'value1' # 添加键值对 my_dict['key2'] = 'value2' ``` ### 删除键值对 可以使用 `del` 语句删除字典中的特定键值对。如果键不存在,会引发 `KeyError` 异常。 ```python del my_dict['key1'] # 删除键值对 ``` ### 修改键值对 修改字典中的值非常简单,只需要通过键来指定新的值即可。 ```python my_dict['key2'] = 'new_value2' # 修改键值对 ``` ### 查询键值对 可以通过键来查询字典中的值。如果键不存在,会引发 `KeyError` 异常。为了避免这种情况,可以使用 `get` 方法,如果键不存在,返回 `None` 或者指定的默认值。 ```python value = my_dict['key2'] # 查询键值对 value = my_dict.get('key3') # 如果键不存在,返回 None value = my_dict.get('key3', 'default_value') # 如果键不存在,返回 'default_value' ``` ### 遍历字典 可以使用 `for` 循环遍历字典的键、值或者键值对。 ```python for key in my_dict: print(key, my_dict[key]) for key, value in my_dict.items(): print(key, value) ``` ### 检查键是否存在 可以使用 `in` 运算符检查字典中是否存在某个键。 ```python if 'key2' in my_dict: print('Key exists') ``` ### 获取所有键或值 可以使用 `keys` 和 `values` 方法获取字典的所有键或值。 ```python keys = my_dict.keys() # 获取所有键 values = my_dict.values() # 获取所有值 ``` ### 清空字典 可以使用 `clear` 方法清空字典中的所有键值对。 ```python my_dict.clear() ``` ### 合并两个字典 可以使用 `update` 方法将一个字典的内容合并到另一个字典中。 ```python dict1 = {'a': 1, 'b': 2} dict2 = {'b': 3, 'c': 4} dict1.update(dict2) # 合并字典,如果有重复键,后面的字典的值会覆盖前面的 ``` ### 创建字典的副本 可以使用 `copy` 方法创建字典的一个浅拷贝。 ```python dict_copy = my_dict.copy() ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值