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

相关推荐
KingRumn4 小时前
Linux信号之标准信号与实时信号
linux·算法
沐知全栈开发6 小时前
HTML5 浏览器支持
开发语言
wasp5206 小时前
AgentScope Java 核心架构深度解析
java·开发语言·人工智能·架构·agentscope
WHOVENLY6 小时前
【javaScript】- 笔试题合集(长期更新,建议收藏,目前已更新至31题)
开发语言·前端·javascript
free-elcmacom6 小时前
深度学习<4>高效模型架构与优化器的“效率革命”
人工智能·python·深度学习·机器学习·架构
QT 小鲜肉6 小时前
【Linux命令大全】001.文件管理之git命令(实操篇)
linux·服务器·笔记·git·elasticsearch
慌糖6 小时前
流-为序列化解释
开发语言
liliangcsdn6 小时前
python模拟beam search优化LLM输出过程
人工智能·python
sishen41996 小时前
嵌入式Linux没有学习方向怎么办,嵌入式Linux怎么学
linux
逆风水手7 小时前
Ansible自动化运维入门指南
linux·运维·自动化·ansible