2

我正在尝试按升序对未知值列表(整数或浮点数或两者)进行排序。即,[2,-1,1.0] 将变为 [-1,1.0,2]。不幸的是, sorted() 函数似乎不起作用,因为它似乎按绝对值降序排序。有任何想法吗?

4

2 回答 2

2

我有同样的问题。答案:如果您将数字作为字符串,Python 将按绝对值对数字进行排序。因此,作为您的密钥,请确保包含一个 int() 或 float() 参数。我的工作语法是

数据 = 排序(数据,键 = lambda x:浮点数(x[0]))

... lambda x 部分只是给出了一个函数,它输出你想要排序的东西。所以它在我的列表中占据一行,找到第 0 个浮点元素,并按此排序。

于 2015-04-13T08:22:41.607 回答
0

除了doublefelix 之外,下面的代码还给出了字符串中的绝对顺序。

siparis=sorted(siparis, key=lambda sublist:abs(float(sublist[1])))

于 2021-01-31T23:13:12.157 回答