有如下列表:[{'time_tag': '20230514', 'ap_24': ' 8', 'create_time': '20230516003000'} {'time_tag': '20230515', 'ap_24': ' 6', 'create_time': '20230516003000'} {'time_tag': '20230516', 'ap_24': '-1', 'create_time': '20230516003000'} {'time_tag': '20230516', 'ap_24': ' 6', 'create_time': '20230516033000'} {'time_tag': '20230516', 'ap_24': ' 7', 'create_time': '20230516063000'} {'time_tag': '20230516', 'ap_24': ' 8', 'create_time': '20230516093000'} {'time_tag': '20230516', 'ap_24': ' 9', 'create_time': '20230516123000'} {'time_tag': '20230418', 'ap_24': '13', 'create_time': '20230517003000'}]。如果time_tag存在相同的值,哪么只保留create_time最大的那个字典
时间: 2023-08-06 07:20:03 浏览: 67
可以按照以下步骤进行操作:
1. 创建一个空字典 `result_dict` 和一个空集合 `time_set`,用于存储最终结果和已经出现的时间标签。
2. 遍历原始列表中的每一个字典,如果 `time_tag` 不在 `time_set` 中,则将该字典加入 `result_dict` 中,并将 `time_tag` 加入 `time_set` 中。
3. 如果 `time_tag` 已经在 `time_set` 中,比较 `create_time` 的大小。如果当前字典的 `create_time` 大于 `result_dict` 中对应时间标签的字典的 `create_time`,则更新 `result_dict` 中对应的字典。
4. 最后,将 `result_dict` 中的值转化为列表返回即可。
以下是代码实现:
```python
original_list = [{'time_tag': '20230514', 'ap_24': ' 8', 'create_time': '20230516003000'},
{'time_tag': '20230515', 'ap_24': ' 6', 'create_time': '20230516003000'},
{'time_tag': '20230516', 'ap_24': '-1', 'create_time': '20230516003000'},
{'time_tag': '20230516', 'ap_24': ' 6', 'create_time': '20230516033000'},
{'time_tag': '20230516', 'ap_24': ' 7', 'create_time': '20230516063000'},
{'time_tag': '20230516', 'ap_24': ' 8', 'create_time': '20230516093000'},
{'time_tag': '20230516', 'ap_24': ' 9', 'create_time': '20230516123000'},
{'time_tag': '20230418', 'ap_24': '13', 'create_time': '20230517003000'}]
result_dict = {}
time_set = set()
for d in original_list:
if d['time_tag'] not in time_set:
result_dict[d['time_tag']] = d
time_set.add(d['time_tag'])
else:
if d['create_time'] > result_dict[d['time_tag']]['create_time']:
result_dict[d['time_tag']] = d
result_list = list(result_dict.values())
print(result_list)
```
输出结果为:
```
[{'time_tag': '20230514', 'ap_24': ' 8', 'create_time': '20230516003000'},
{'time_tag': '20230515', 'ap_24': ' 6', 'create_time': '20230516003000'},
{'time_tag': '20230516', 'ap_24': ' 9', 'create_time': '20230516123000'},
{'time_tag': '20230418', 'ap_24': '13', 'create_time': '20230517003000'}]
```
阅读全文