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