gpt4 book ai didi

python - 如何通过检查最新的时间戳和值从字典列表中提取

转载 作者:行者123 更新时间:2023-12-05 05:46:21 24 4
gpt4 key购买 nike

下面有一个字典列表,如

my_dictionary = [
{
'name': 'Tester',
'id': '101',
'status': 'Failed',
'lastModifiedDate': '2022-02-14 12:25:32:013302' },
{
'name': 'Developer',
'id': '102',
'status': 'Success',
'lastModifiedDate': '2022-02-14 12:25:32:013302',
},
{
'name': 'Tester',
'id': '101',
'status': 'Failed',
'lastModifiedDate': '2022-02-21 12:25:32:013302' }
]
  • 我有两个 name 值作为 TesterDeveloper
  • 通过检查最新的 lastModifiedDate 需要为 Tester, Developer 提取最新条目

下面代码实现的逻辑如下:

  • 首先根据lastModifiedDate降序排列。
  • 提取字典列表中的第一个匹配项。
response = sorted(my_dictionary, key=lambda x: x['lastModifiedDate'], reverse=True)

response_latest = []
for item in response:
extracted_response = {}
for field in item:
if item['name'] == 'Tester':
extracted_response[field] = item[field]
response_latest.append(extracted_response)
break
for field in item:
if item['name'] == 'Developer':
extracted_response[field] = item[field]
response_latest.append(extracted_response)
break
response_latest

上面的代码在输入上面的字典列表时的输出是

[{'name': 'Tester',
'id': '101',
'status': 'Failed',
'lastModifiedDate': '2022-02-21 12:25:32:013302'}]

但预期的输出是

[{'name': 'Tester',
'id': '101',
'status': 'Failed',
'lastModifiedDate': '2022-02-21 12:25:32:013302'},
{'name': 'Developer',
'id': '102',
'status': 'Success',
'lastModifiedDate': '2022-02-14 12:25:32:013302'}]

此外,如果缺少 DeveloperTester 字典名称值,代码不应失败。

my_dictionary = [{'name': 'Tester', 'id': '101', 'status': 'Failed', 'lastModifiedDate': '2022-02-14 12:25:32:013302'}, 
{'name': 'Tester', 'id': '101', 'status': 'Failed', 'lastModifiedDate': '2022-02-21 12:25:32:013302'}]

最佳答案

如果 pandas 正在运行:

import pandas as pd
df = pd.DataFrame(myd)
maxes = df.groupby('name')['lastModifiedDate'].transform('max')
result = df[df['lastModifiedDate'] == maxes].to_dict(orient='records')

输出:

>>> result
[{'name': 'Developer', 'id': '102', 'status': 'Success', 'lastModifiedDate': '2022-02-14 12:25:32:013302'}, {'name': 'Tester', 'id': '101', 'status': 'Failed', 'lastModifiedDate': '2022-02-21 12:25:32:013302'}]

关于python - 如何通过检查最新的时间戳和值从字典列表中提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71210609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com