python - 如何从列表中创建具有多个值的字典?
问题描述
我目前有两个列表(实际列表要长得多,但这里有一个例子:)
month = [12,12,12,12,11,11,11,10,...]
wave_height = [3,6,8,2,4,9,7,9,....]
我的目标是拥有一个看起来像这样的字典:
12: 3, 6, 8, 2
11: 4, 9, 7
10: 9, ...
其中key是月份,values是wave_height的所有实例。我怎么做?
解决方案
您可以collections.defaultdict
将zip
两个列表一起使用来填充键和值。
from collections import defaultdict
month = [12,12,12,12,11,11,11,10]
wave_height = [3,6,8,2,4,9,7,9]
data = defaultdict(list)
for m, w in zip(month, wave_height):
data[m].append(w)
结果
>>> data
defaultdict(<class 'list'>, {12: [3, 6, 8, 2], 11: [4, 9, 7], 10: [9]})
推荐阅读
- java - 我的应用程序在构建时没有任何错误,但是当我在手机上运行它时它停止工作
- python - 多消费者 Rabbitmq 通过多处理
- hashtable - 使用 chord 实现洪流网络
- shop - 在搜索框中输入关键字,然后按回车键进行搜索
- php - 如何在 Woocommerce 的“简短描述”区域下为特定类别中的项目输出静态文本?
- javascript - React Native - 停止 setTimeOut 然后在启用 GPS 后继续
- javascript - 使用反应在时间间隔内更改图像
- python - Python从html中提取信息
- javascript - 无法从 AJAX 构建数据表
- css - Boostrap 3 - 对齐卡片