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的示例相同。

相关推荐
MediaTea6 分钟前
Python OOP 设计思想 13:封装服务于演化
linux·服务器·前端·数据库·python
love530love6 分钟前
突破 ComfyUI 环境枷锁:RTX 3090 强行开启 comfy-kitchen 官方全后端加速库实战
人工智能·windows·python·cuda·comfyui·triton·comfy-kitchen
setary03017 分钟前
c++泛型编程之Typelists
开发语言·c++
u0104058367 分钟前
Java应用的链路追踪:实现分布式跟踪
java·开发语言·分布式
wang6021252188 分钟前
流式输出注意点
python·状态模式·fastapi
未定义.22110 分钟前
第3篇:UI自动化核心操作:输入、点击、弹窗、下拉框全场景实战
运维·python·ui·自动化·jenkins·集成测试·pytest
这是个栗子11 分钟前
【API封装参数传递】params 与 API 封装
开发语言·前端·javascript·data·params
276695829212 分钟前
vercel 安全检测逆向 x-vercel-challenge-solution
开发语言·python·solution·vercel-solution·x-vercel·vercel逆向·ensun
傻乐u兔13 分钟前
C语言初阶————调试实用技巧1
c语言·开发语言
dagouaofei14 分钟前
AI PPT 工具怎么选?5个维度对比6款产品
人工智能·python·powerpoint