[英]find oldest createdate and keyid from list of dicts and return result in a dict
我从系统得到以下响应:
{'KeyMetadata':
[
{
'UserName': 'thisusernameA',
'KeyId': 'ABCDE12345',
'CreateDate': datetime.datetime(2022,11, 30, 13, 7, 43, tzinfo=tzutc())
},
{
'UserName': 'thisusernameA',
'KeyId': 'CDEFG678911',
'CreateDate': datetime.datetime(2022,12, 9, 14, 50, 36, tzinfo=tzutc())
}
]
}
所以用户有两个不同的密钥,具有不同的创建日期。 我必须从最旧的键中分离出 KeyId 和 CreateDate,然后将结果返回到这样的字典中:
{'KeyId': 'ABCDE12345', 'CreateDate': datetime.datetime(2022,11, 30, 13, 7, 43, tzinfo=tzutc())}
我似乎想出了一种方法来至少获得最早的日期:
mylist=my_result["KeyMetadata"]
seq = [x['CreateDate'] for x in mylist]
my_oldest=min(seq)
但是接下来我该怎么办? 如何获取相关的 KeyId 并构建字典响应?
不要将数据分开,使用min
和自定义键来使用日期
data = {'KeyMetadata': [
{'UserName': 'thisusernameA', 'KeyId': 'ABCDE12345',
'CreateDate': datetime.datetime(2022, 11, 30, 13, 7, 43, tzinfo=tzutc())},
{'UserName': 'thisusernameA', 'KeyId': 'CDEFG678911',
'CreateDate': datetime.datetime(2022, 12, 9, 14, 50, 36, tzinfo=tzutc())}
]}
min_item = min(data['KeyMetadata'], key=lambda item: item['CreateDate'])
print(min_item)
# {'UserName': 'thisusernameA', 'KeyId': 'ABCDE12345', 'CreateDate': datetime.datetime(2022, 11, 30, 13, 7, 43, tzinfo=tzutc())}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.