系统的响应如下:
{'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())
}
]
}
所以用户有两个不同的键,用不同的create。我必须将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())}