假设我有一些包含月份短名和一些数据的字典
data_in = {"Jan":2.0, "Feb":5.5}
以及一些包含映射的字典
month_names = {"Jan":"January", "Feb":"February"}
day_month = {day:"Jan" for day in range(1,32)}
day_month.update({day:"Feb" for day in range(32,60)})
如何获取以下包含原始数据(长名称和日期数字作为元组)的字典?
{("January", 1):2.0, ("January", 2):2.0 ...}
最佳答案
这是我自己的尝试 -
from itertools import count
c = count(1,1)
days = {"Feb" : 28, "Jan" : 31}
mapping = {(month_names[i], next(c)) : data_in[i] for i in data_in.keys() for _ in range(days[i])}
print (mapping)
或使用您的day_month
字典
mapping = {(month_names[day_month[i]], i) : data_in[day_month[i]] for i in day_month.keys()}
print mapping
输出 -
{('January', 1): 2.0,
('January', 2): 2.0,
('January', 3): 2.0,
('January', 4): 2.0,
('January', 5): 2.0,
('January', 6): 2.0,
('January', 7): 2.0,
('January', 8): 2.0,
('January', 9): 2.0,
('January', 10): 2.0,
('January', 11): 2.0,
('January', 12): 2.0,
('January', 13): 2.0,
('January', 14): 2.0,
('January', 15): 2.0,
('January', 16): 2.0,
('January', 17): 2.0,
('January', 18): 2.0,
('January', 19): 2.0,
('January', 20): 2.0,
('January', 21): 2.0,
('January', 22): 2.0,
('January', 23): 2.0,
('January', 24): 2.0,
..... }
关于Python 映射字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42539763/