使用字典查找用户取消使用的方法

2024-05-13 01:27:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经创建了一个{'username': 'date'}{'date': 'username'}的字典(我可以将key: value对的顺序更改为我想要的任何顺序)。要设置值,我需要说。。。你知道吗

{'Jacob Rasnip': 'Apr', 'Andrew Alexander': 'Apr', 'Jacob Rasnip': 'May'}

或者相反。。。你知道吗

{'Apr': 'Jacob Rasnip'}

我有大约1500个字典值,所有用户都分配了不同的月份,或者分配了不同的月份。你知道吗

我想要一种方法来遍历键和值的字典,并找出哪个月是客户出现的第一个月。我还想找出客户出现的最后一个月。你知道吗

有没有人可以提供建议,以最好的方式来实现这一点。你知道吗


Tags: key用户date客户字典顺序valueusername
2条回答

你说的。你知道吗

Could I have each name (as a key) have multiple values? Currently I'm combining two lists (one of names, the other of dates) like this: testdict = dict(zip(name, date))

不,但是你可以用一种看起来像unutbu的答案的方式来组合这些值。你知道吗

import collections
data = collections.defaultdict(list)

for n, d in zip(name, date):
    data[n].append(d)

字典不能有重复的键。例如,它只能有一个键'Jacob Rasnip'。你的例子显示了两个。 类似地,字典只能有一个键'Apr'。你知道吗

如果您将用户名的dictorial映射到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)

注意minmax依赖于dates中的项是datetime.date对象。它还可以处理表示月份的简单整数(假设所有月份都指同一年)。但是对于月份的字符串名称,它不能像预期的那样工作(例如'Apr')。你知道吗

相关问题 更多 >