对具有负值和正值的整数和浮点数列表进行排序?

时间:2012-11-10 02:17:33

标签: sorting python-2.7 absolute-value

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

2 个答案:

答案 0 :(得分:1)

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

data = sorted(data,key = lambda x:float(x [0]))

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

答案 1 :(得分:0)

除了doublefelix,下面的代码从字符串给了我绝对顺序。

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