gpt4 book ai didi

python - 使用最大条件比较和删除列表列表中的列表

转载 作者:行者123 更新时间:2023-11-28 20:14:23 25 4
gpt4 key购买 nike

我有一个这样的列表列表:

a=[['2012-05-11','yes','44','426.24'],['2013-03-22','no','12','426.24'],['2018-08-13','yes','88','426.24'] ,['2017-05-11','yes','404','450.24']]

我想删除所有具有相同第 4 个值的列表 ( a[0][3],a[1][3] ...) 并且只让具有最近的日期,所以就我而言,我想要这个结果:

a=[['2018-08-13','yes','88','426.24'] ,['2017-05-11','yes','404','450.24']]

有什么想法可以做到这一点吗?

最佳答案

这可以通过 itertools.groupbysorted 的组合来实现。

下面的解决方案明确使用 datetime 转换来排序日期。

排序后,只需要提取每个groupby元素的最后一个元素,即可得到所需的条目。

from datetime import datetime
from itertools import groupby
from operator import itemgetter

sorter = sorted(a, key=lambda x: (x[3], datetime.strptime(x[0], '%Y-%m-%d')))
grouper = groupby(sorter, key=itemgetter(3))

res = [list(j)[-1] for _, j in grouper]

[['2018-08-13', 'yes', '88', '426.24'],
['2017-05-11', 'yes', '404', '450.24']]

关于python - 使用最大条件比较和删除列表列表中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50153281/

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