gpt4 book ai didi

python - 按嵌套元组值排序列表

转载 作者:太空狗 更新时间:2023-10-29 22:10:01 26 4
gpt4 key购买 nike

是否有比编写提取嵌套元组值的 itemgetter 替代方法更好的方法来按嵌套元组值对列表进行排序:

def deep_get(*idx):
def g(t):
for i in idx: t = t[i]
return t
return g

>>> l = [((2,1), 1),((1,3), 1),((3,6), 1),((4,5), 2)]
>>> sorted(l, key=deep_get(0,0))
[((1, 3), 1), ((2, 1), 1), ((3, 6), 1), ((4, 5), 2)]
>>> sorted(l, key=deep_get(0,1))
[((2, 1), 1), ((1, 3), 1), ((4, 5), 2), ((3, 6), 1)]

我考虑过使用 compose,但标准库中没有:

sorted(l, key=compose(itemgetter(1), itemgetter(0))

我在库中遗漏了什么可以使这段代码更好的东西吗?

实现应该可以合理地处理 10 万个项目。

上下文:我想对作为直方图的项的字典进行排序。键是元组 (a,b),值是计数。最后,项目应按计数降序排序,a 和 b。另一种方法是展平元组并直接使用 itemgetter,但这样会生成很多元组。

最佳答案

是的,您可以只使用 key=lambda x: x[0][1]

关于python - 按嵌套元组值排序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6162823/

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