gpt4 book ai didi

python - 根据元组列表中的第二个元素查找具有前 5 个唯一值的所有项目

转载 作者:太空宇宙 更新时间:2023-11-03 15:34:40 24 4
gpt4 key购买 nike

我想根据元组的第二个元素在元组列表中找到具有前 5 个最大值的所有元组项。比如我有一个元组列表

x1 = [(a, 5), (b, 5), (c, 4), (d, 3), (e, 8), (f, 9), (g, 2), (h, 1)]

我想得到以下列表:

x2 = [(a, 5), (b, 5), (c, 4), (d, 3), (e, 8), (f, 9)]

由于第二个元素的前 5 个唯一值是 9、8、5、4、3 并且 a、b 的值都是 5,因此它们都应该包含在列表中。

关于如何实现这一点的任何想法?谢谢!

最佳答案

找到前 5 个第二个元素:

i = set(list({x[1] for x in x1})[-5:])

过滤列表:

x2 = list(filter(lambda x: x[1] in i, x1))

或者更好:

ss = {x[1] for x in x1}
if len(ss) > 5:
i = list(ss)[-5]
x2 = list(filter(lambda x: x[1] >= i, x1))
else:
x2 = x1

输出:

[('a', 5), ('b', 5), ('c', 4), ('d', 3), ('e', 8), ('f', 9)]

关于python - 根据元组列表中的第二个元素查找具有前 5 个唯一值的所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55585584/

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