gpt4 book ai didi

python - 按浮点元素对元组进行排序

转载 作者:行者123 更新时间:2023-11-28 19:56:23 36 4
gpt4 key购买 nike

我试图按数字的值对这个元组进行排序,以便按降序重新排列:

l =[('orange', '3.2'), ('apple', '30.2'), ('pear', '4.5')]

如:

l2 =[('apple', '30.2'), ('pear', '4.5'), ('orange', '3.2')]

我正在尝试使用这个对其进行排序:

l2 = ((k,sorted(l2), key=lambda x: float(x[1]), reverse=True)))
[value for pair in l2 for value in pair]

但我收到错误信息:

TypeError: float() argument must be a string or a number, not 'tuple'

如何更正此问题,以便表明我想按每对中的数字排序? Python 语法仍然让我很困惑,因为我对它很陌生。任何帮助将不胜感激。

最佳答案

你混淆了语法;你几乎在那里。这有效:

l2 = sorted(l, key=lambda x: float(x[1]), reverse=True)

例如调用sorted()函数,将要排序的列表作为第一个参数传入。其他两个参数是关键字参数(keyreverse)。

演示:

>>> l = [('orange', '3.2'), ('apple', '30.2'), ('pear', '4.5')]
>>> sorted(l, key=lambda x: float(x[1]), reverse=True)
[('apple', '30.2'), ('pear', '4.5'), ('orange', '3.2')]

您还可以就地对列表进行排序:

l.sort(key=lambda x: float(x[1]), reverse=True)

使用相同的两个关键字参数。

关于python - 按浮点元素对元组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20075675/

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