我有一個看起來像這樣的結構:排序的字典與元組的值
{'key_info':(rank,raw_data1,raw_data2),'key_info2':....}
基本上我需要回鍵的列表中的排序順序,即基於等級字段排序元組。
我的代碼看起來像現在這種權利(diff文件是結構的名稱以上):
def _sortRanked(self):
print(type(self.diffs))
return sorted(self.diffs.keys(), key=lambda x: x[1], reverse=True)
,自己目前返回此當我運行它:
return sorted(self.diffs.keys(), key=lambda x: x[1], reverse=True)
IndexError: string index out of range
我希望有人可以從中得到一點意義並幫助我。
編輯:
我改成了:
def _sortRanked(self):
return sorted(self.diffs.keys(), key=lambda x: self.diffs[x][0], reverse=True)
我現在得到一個奇怪的命令,它在返回數據的順序是(摘錄,並在相同的字段順序同上):
R : 3.64486899669e-05 3605 11
P : 3.11612504885e-05 1528 4
C : 2.50018364323e-05 2316 7
Q : -3.49014288804e-05 152 2
T : -4.45535602789e-05 2623 11
Z : -0.000101817241062 491 6
q : -0.000301208352276 1812 19
全輸出這裏:http://pastebin.com/e4eTYvgN
訂單沒有什麼奇怪的。它似乎只是不按照你想要的方式排序。 (3.64486899669e-05> 3.11612504885e-05> 2.50018364323e-05> -3.49014288804e-05> -4.45535602789e-05> -0.000101817241062> -0。000301208352276) – JAB 2011-06-14 20:16:46
看起來與我相反。負數小於正數。 – 2011-06-14 20:19:37
哦,是的,這是對的,忘了'e-05'部分。是的,這是正確的,現在它只是一個輸出格式問題。感謝大家! – Till 2011-06-14 20:26:22