python 字典 一个key 多 value 遍历

在Python中,如果一个键对应多个值,你需要确保这些值被存储在一个容器类型(如列表或集合)中。你可以使用默认字典(collections.defaultdict)来简化这个过程。以下是一个示例代码:

复制代码
from collections import defaultdict
 
# 创建一个默认字典,其中值将被初始化为一个列表
dd = defaultdict(list)
 
# 假设有多个键对应相同的值
keys = ['key1', 'key1', 'key2', 'key2', 'key3']
values = [1, 2, 3, 4, 5]
 
# 将值分配给对应的键
for key, value in zip(keys, values):
    dd[key].append(value)
 
# 遍历默认字典
for key, value_list in dd.items():
    print(f"Key: {key}, Values: {value_list}")

结果:

Key: key1, Values: [1, 2]

Key: key2, Values: [3, 4]

Key: key3, Values: [5]

如果你不想使用defaultdict,也可以手动检查键是否存在并初始化列表:

复制代码
# 创建一个普通字典
d = {}
 
# 假设有多个键对应相同的值
keys = ['key1', 'key1', 'key2', 'key2', 'key3']
values = [1, 2, 3, 4, 5]
 
# 将值分配给对应的键
for key, value in zip(keys, values):
    if key not in d:
        d[key] = [value]
    else:
        d[key].append(value)
 
# 遍历普通字典
for key, value_list in d.items():
    print(f"Key: {key}, Values: {value_list}")

这段代码的输出与使用defaultdict的示例相同。

相关推荐
weixin_56899606几秒前
Vue.js生命周期destroyed钩子中内存泄漏排查与资源释放
jvm·数据库·python
郭涤生3 分钟前
C++ 线程同步复习
开发语言·c++
坚持就完事了4 分钟前
Linux中的tar命令
linux·运维·服务器
Full Stack Developme5 分钟前
Hutool EnumUtil 教程
开发语言·windows·python
XMYX-07 分钟前
18 - Go 等待协程:WaitGroup 使用与坑
开发语言·golang
baidu_340998828 分钟前
PySpark中高效展开嵌套数组:避免笛卡尔爆炸的正确实践.txt
jvm·数据库·python
TechWayfarer10 分钟前
IP定位API接口怎么选?在线、离线还是混合?一套决策框架
网络·python·tcp/ip
feifeigo12310 分钟前
基于遗传算法的矩形排样MATLAB实现
开发语言·matlab
数据雕塑家11 分钟前
Linux磁盘性能测试完全指南:使用FIO深入评估存储系统
linux·运维·服务器
weixin_5806140013 分钟前
如何自动同步SQL多语言字段_通过触发器实现国际化更新
jvm·数据库·python