Bonjour,

Je me casse la tête avec la fonction sort() depuis un moment et je cherche à comprendre.

Pour résumé, je dois trier plusieurs lignes ayant plusieurs colonnes (nombres réels) séparées par des espaces. Le tri s'effectue uniquement sur la valeur de la 1ère colonne.

Exemple ultra simplifié de mon fichier source :
9.75 11.4133
10.75 12.4133
10.875 12.5383
11 12.6633 12.4472
9.875 11.5383 11.3222
Et je veux obtenir ceci :

9.75 11.4133
9.875 11.5383 11.3222
10.75 12.4133
10.875 12.5383
11 12.6633 12.4472
Facile ?

Je lis mon fichier, je le stocke dans une liste et j'appelle la fonction sort()... seulement voilà ce que j'obtiens :

print("[DEBUG] -------- DATALIST avant tri : -----------------------\n")
print(dataListIR)
print("[DEBUG] -------- DATALIST apres le tri : -----------------------\n")
dataListIR.sort()
print(dataListIR)
[DEBUG] -------- DATALIST avant tri : -----------------------

['9.75 11.4133 \n', '10.75 12.4133\n', '10.875 12.5383\n', '11 12.6633 12.4472\n', '9.875 11.5383 11.3222\n']
[DEBUG] -------- DATALIST apres le tri : -----------------------

['10.75 12.4133\n', '10.875 12.5383\n', '11 12.6633 12.4472\n', '9.75 11.4133 \n', '9.875 11.5383 11.3222\n']
Et là, j'ai beau me creuser la tête, je ne comprends pas comment sort() se débrouille et comment m'en sort[ir].

Je précise que j'avais déjà eu le même genre de cas sous bash, et que j'avais résolu le souci en forcant la variable d'environnement LC_ALL="C"... mais Python ne semble pas s'y intéresser.

Quelqu'un pourrait-il me guider un peu ? Merci

Amicalement,