python list 可以直接進行sort排序,預設是按照從小到大進行排序.
現在有個需求:要按照元組的第乙個元素進行公升序,但是按照第二個元素進行降序
如下是個取巧的辦法,這裡的100根據數值範圍進行調整,思路是選擇乙個函式,對第乙個元素是增函式,第二個元素是減函式
# sorted(l)
l = [(0, 2), (0, 12), (1 , 66), (1, 88)]
l.sort(key=lambda x: 100*x[0]-x[1])
print(l)
正規的寫法如下
l = [(0, 2), (0, 12), (1 , 66), (1, 88)]
from operator import itemgetter, attrgetter
def multisort(xs, specs):
for key, reverse in reversed(specs):
xs.sort(key=itemgetter(key), reverse=reverse)
return xs
multisort(l, ((0, false), (1, false)))
參考:
如何進行堆排序
堆排序是一種選擇排序,其時間複雜度為o nlogn 堆的定義 n個元素的序列當且僅當滿足下列關係之一時,稱之為堆。情形1 ki k2i 且ki k2i 1 最小化堆或小頂堆 情形2 ki k2i 且ki k2i 1 最大化堆或大頂堆 其中i 1,2,n 2向下取整 若將和此序列對應的一維陣列 即以一...
如何進行結構體排序
1.乙個結構體中有三個元素,按照其中乙個元素進行降序排列 先定義乙個結構體 struct node a 1005 然後寫排序 int cmp node a,node b 在main函式裡面用sort進行排序 sort a,a n,cmp 2 排序要求 按分數從高到低輸出上線考生的考號與分數,其間用1...
python如何進行http請求
在平時的開發過程中,少不了進行資料訂正,你可以乙個乙個手動去操作,當然這種方法太笨拙了,指令碼可以幫你解決掉這些事情,今天我要簡單總結乙個,如何寫python指令碼,向後端發起乙個http請求,並列印請求結果。如下 usr bin python coding utf 8 import sys imp...