我已经创建了 {'username': 'date'} 或 {'date': 'username'} 的字典(我可以更改key: value 对到我想要的任何一个)。要设置我需要说的值...
{'Jacob Rasnip': 'Apr', 'Andrew Alexander': 'Apr', 'Jacob Rasnip': 'May'}
或者相反...
{'Apr': 'Jacob Rasnip'}
我有大约 1500 个字典值,所有用户都分配了不同的月份或分配给用户的月份。
我想要一种方法来遍历键和值的字典,并找出哪个月是客户出现的第一个月。我还想找到客户出现的最后一个月。
有人可以就实现此目标的最佳方式提供建议。
请您参考如下方法:
字典不能有重复的键。例如,它只能有一个键 'Jacob Rasnip'。您的示例显示了两个。 同样,一本字典只能有一个键 'Apr'。
相反,如果您将用户名字典映射到 datetime.date 的列表:
{'Jacob Rasnip': [datetime.date(2011,4,1),datetime.date(2011,5,1),]...}
然后你可以生成第一个月和最后一个月
for user,dates in user_dict.iteritems():
first_date = min(dates)
last_date = max(dates)
print(user,first_date,last_date)
注意 min 和 max 依赖于 dates 中的项目 datetime.date对象。它也适用于代表月份的简单整数(假设所有月份都指的是同一年)。但它无法按预期使用月份的字符串名称(例如 'Apr')。
