J'ai un dict:dictionnaire de tri basé sur la valeur en utilisant Python
self.currentMsg={'Decimal Label value':'','SDI value':'','Label format':''}
for i in range (self.firstRowIdx, self.lastRowIdx) :
self.currentMsg['Decimal Label value']=self.xlManager.getCellValue(i,LABEL_COL_IDX)
self.currentMsg['SDI value']= SDIValue=self.xlManager.getCellValue(i,SDI_COL_IDX)
self.currentMsg['Label format']=LabelFormat=self.xlManager.getCellValue(i,FORMAT_COL_IDX)
sorted_x = sorted(self.currentMsg.items(),key=operator.itemgetter('Decimal Label value'))
print(sorted_x)
Je voudrais trier la dict basée sur la valeur croissante de la «valeur d'étiquette décimale.
J'ai essayé ceci:
sorted_x = sorted(self.currentMsg.items(), key=itemgetter(''Decimal Label value''))
mais je reçois cette erreur
TypeError: tuple indices must be integers, not str
j'ai essayé ceci:
sorted_x = sorted(self.currentMsg.items(), key=itemgetter('0'))
mais le dict est toujours pas triai . la console montre:
[('Decimal Label value', 324.0), ('Label format', 'BNR'), ('SDI value', 'XX')]
[('Decimal Label value', 331.0), ('Label format', 'BNR'), ('SDI value', 'XX')]
[('Decimal Label value', 312.0), ('Label format', 'BNR'), ('SDI value', 'XX')]
Voir aussi: http://stackoverflow.com/questions/289/how-do-you-sort-a-dictionary-by-value?rq=1 – EdChum