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

相关推荐
JAVA面经实录91721 分钟前
Java集合大全终极手册(一)
java·开发语言
信竞星球_少儿编程题库27 分钟前
2026年全国信息素养大赛算法应用主题赛 丝路新城 C++ 模拟卷(三)
开发语言·c++
newnazi27 分钟前
RedHat10 安装MS SQL Server2025
linux·服务器·数据库
IT策士39 分钟前
Django 从 0 到 1 打造完整电商平台:为什么用 Django 做电商?
后端·python·django
千里马-horse1 小时前
gRPC -- Java 基础教程
java·开发语言·grpc
zkkkkkkkkkkkkk1 小时前
Linux进行管理工具Supervisor配置与使用
linux·python·supervisor
甲方大人请饶命1 小时前
Java-面向对象进阶(qqbb知识点)
java·开发语言
ChoSeitaku1 小时前
07_static_JavaBean_继承_super/this
java·开发语言
2301_783848651 小时前
mysql数据库迁移到云平台流程_使用数据传输服务DTS工具
jvm·数据库·python
hbugs0011 小时前
EVE-NG桥接外网的5种方式
开发语言·网络·php·eve-ng·rstp·流量洞察