列表我有這份名單排序在python
[1,-5,10,6,3,-4,-9]
但現在我想要列表進行排序是這樣的:
[10,-9,6,-5,-4,3,1]
正如你可以看到我想從高分到低分排序不管每個號碼有什麼標誌,但保持標誌,是否清楚?
列表我有這份名單排序在python
[1,-5,10,6,3,-4,-9]
但現在我想要列表進行排序是這樣的:
[10,-9,6,-5,-4,3,1]
正如你可以看到我想從高分到低分排序不管每個號碼有什麼標誌,但保持標誌,是否清楚?
使用abs
作爲關鍵sorted
功能或list.sort
:
>>> lis = [1,-5,10,6,3,-4,-9]
>>> sorted(lis, key=abs, reverse=True)
[10, -9, 6, -5, -4, 3, 1]
只是完美和簡單,就是我一直在尋找的!謝謝你,兄弟! –
使用:
l.sort(key= abs, reverse = True)
列表可以使用sort()方法進行排序。排序方法有一個名爲key的參數,可以傳遞一個函數。使用這個參數,你的列表將不會按列表的值排序,而是按列表中的函數值排序。
就你而言,你應該使用abs()函數,它將返回列表元素的絕對值。所以,你的列表
>>> l = [1,-5,10,6,3,-4,-9]
進行排序,就像是
>>> [abs(1),abs(-5),abs(10),abs(6),abs(3),abs(-4),abs(-9)]
這應該是:
>>> [1 ,-4 ,-5 ,6 ,-9 ,10]
從最大到smalles訂購,使用反向= True參數也。
Upvotes for what what? –
我假設這是家庭作業,所以你將不得不建立自己的排序功能。完成之後,只需根據每個數字的絕對值進行比較。 –