gpt4 book ai didi

python - 根据运算结果对元组列表进行排序(除法)

转载 作者:太空宇宙 更新时间:2023-11-04 03:02:16 32 4
gpt4 key购买 nike

好的 - 已经为此苦苦挣扎了一段时间。我刚刚开始学习 Python,所以非常新。

我有一个元组列表,需要按每个元组中值的比率进行排序。

输入:

L = [(1,3), (1,7), (4,8)]

返回一个排序列表:

L = [(1,7), (1,3), (4,8)]

它需要使用排序和自定义键进行排序。我见过有人使用 itemgetter,但我也无法使用该版本。

到目前为止我的尝试:

sorted(L, key = lambda x: [(i[0]/float(i[1])) for i in x])

我一直以此为指导: How to sort (list/tuple) of lists/tuples?

似乎使用 itemgetter 是最快的,但我也无法让它工作...

最佳答案

你们很亲密。您的 lambda 函数中不需要 for 循环。

>>> L = [(1,3), (1,7), (4,8)]
>>> sorted(L, key=lambda i: i[0]/float(i[1])) # no need for the for loop
[(1, 7), (1, 3), (4, 8)]
>>>

您还可以使用 operator.itemgetter()像这样:

>>> L = [(1,3), (1,7), (4,8)]
>>> from operator import itemgetter
>>> ig = itemgetter(0), itemgetter(1)
>>> sorted(L, key= lambda i: ig[0](i)/float(ig[1](i)))
[(1, 7), (1, 3), (4, 8)]
>>>

关于python - 根据运算结果对元组列表进行排序(除法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40581736/

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