У меня есть структура, которая выглядит так:
{'key_info':(rank,raw_data1,raw_data2),'key_info2':....}
В основном мне нужно вернуть список ключей в отсортированном порядке, который отсортирован по полю ранга в кортеже.
мой код сейчас выглядит примерно так (diffs - это название структуры выше):
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
Я надеюсь, что кто-то сможет извлечь из этого хоть какой-то смысл и помочь мне.
EDIT:
я изменил его на:
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