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

相关推荐
xlsw_几秒前
java全栈day21--Web后端实战之利用Mybaits查询数据
java·开发语言
Murphy202316 分钟前
.net4.0 调用API(form-data)上传文件及传参
开发语言·c#·api·httpwebrequest·form-data·uploadfile·multipart/form-
GZ同学17 分钟前
Arcgis中python工具箱制造要点及统计要素图层字段信息工具分享
python·arcgis
我曾经是个程序员26 分钟前
C#Directory类文件夹基本操作大全
服务器·开发语言·c#
白云~️28 分钟前
uniappX 移动端单行/多行文字隐藏显示省略号
开发语言·前端·javascript
编码浪子33 分钟前
构建一个rust生产应用读书笔记7-确认邮件2
开发语言·后端·rust
天之涯上上1 小时前
JAVA开发 在 Spring Boot 中集成 Swagger
java·开发语言·spring boot
2402_857583491 小时前
“协同过滤技术实战”:网上书城系统的设计与实现
java·开发语言·vue.js·科技·mfc
北京_宏哥1 小时前
python接口自动化(四十二)- 项目架构设计之大结局(超详解)
python·架构·前端框架
爱学习的白杨树1 小时前
MyBatis的一级、二级缓存
java·开发语言·spring