gpt4 book ai didi

python - 元组列表 : remove tuples by comparison of element if they have another identical element

转载 作者:太空宇宙 更新时间:2023-11-04 00:42:15 25 4
gpt4 key购买 nike

我有一个看起来像的元组列表items = [(id, date), ...]

我想过滤元组列表,所以我只为每个唯一 ID 保留一个元组,对于所有出现的具有相同 ID 的元组,我想保留具有最新日期值的条目.

例如:

items = [('1', '12/2/2016'), ('2', '12/20/2016'), ('1', '12/24/2016')]

# Apply filter comparing tuples with identical [0] element based off [1] element

items = [('2', '12/20/2016'), ('1', '12/24/2016')]

我正在寻找解决这个问题的最优雅和“pythonic”的解决方案,谢谢!

最佳答案

一种方法是简单地转换为字典然后再转换回来(如果您确实需要它作为元组列表 - 或者将其保留为字典)。
如果元组不是按日期顺序排列的,那么您可以根据日期简单地排序:

>>> from datetime import datetime
>>> items = [('1', '12/2/2016'), ('2', '12/20/2016'), ('1', '12/24/2016')]
>>> d = dict(sorted(items, key=lambda x: datetime.strptime(x[1], '%m/%d/%Y')))
>>> items = list(d.items())
[('2', '12/20/2016'), ('1', '12/24/2016')]

关于python - 元组列表 : remove tuples by comparison of element if they have another identical element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41398555/

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