【发布时间】:2016-03-01 20:26:50
【问题描述】:
我有一个这样的日期列表:
listdates = [datetime.date(2016, 4, 23), datetime.date(2016, 4, 24), datetime.date(2016, 4, 25), datetime.date(2016, 4, 26), datetime.date(2016, 4, 27)]
我有一本日期设置如下的字典:
dictdates = {'S1': [datetime.date(2016, 4, 20), datetime.date(2016, 4, 21), datetime.date(2016, 4, 22), datetime.date(2016, 4, 23), datetime.date(2016, 4, 24), datetime.date(2016, 4, 25), datetime.date(2016, 4, 26), datetime.date(2016, 4, 27), datetime.date(2016, 4, 28), datetime.date(2016, 4, 29)], 'W26': [datetime.date(2016, 4, 20), datetime.date(2016, 4, 21), datetime.date(2016, 4, 22), datetime.date(2016, 4, 23), datetime.date(2016, 4, 24), datetime.date(2016, 4, 25)], 'W24': [datetime.date(2016, 4, 25)]}
我想将列表与字典进行比较,如果列表中的值与字典中的值匹配,则它应该打印不可用。
我有以下工作:
for val in listdates:
if val in dictdates['S1']:
print val, 'unavailable'
else:
print val, 'available'
这给出了以下输出:
2016-04-23 unavailable
2016-04-24 unavailable
2016-04-25 unavailable
2016-04-26 unavailable
2016-04-27 unavailable
我想要的是遍历字典中的每个列表并输出可用/不可用的键,如下所示:
S1
2016-04-23 unavailable
2016-04-24 unavailable
2016-04-25 unavailable
2016-04-26 unavailable
2016-04-27 unavailable
W26
2016-04-23 unavailable
2016-04-24 unavailable
2016-04-25 unavailable
2016-04-26 unavailable
2016-04-27 unavailable
W24
2016-04-23 available
2016-04-24 available
2016-04-25 unavailable
2016-04-26 available
2016-04-27 available
etc ...
【问题讨论】:
标签: python list dictionary generator