J'ai besoin de ces numéros pour imprimer l'ordre croissant (comme 1, 2, 3, 4, 5), mais ils s'impriment par ordre alphabétique.

numberList = [ ]

with open('Numbers.txt','r') as file:   
    for line in file:         
        for word in line.split():
            numberList.append(word)
            numberList.sort()
file = open("Numbers.txt")
print(file.read())
file.close()
-2
Nihal Mishra 27 août 2020 à 12:15

2 réponses

Meilleure réponse

Après vos boucles for, vous pouvez utiliser une fonction appelée map avec tri.

numberList = sorted(list(map(int,numberList)))

Cela convertirait n'importe quelle chaîne (c'est-à-dire un chiffre) en un entier de votre liste déjà créé avec tous les éléments, et le trierait immédiatement.

De plus, cela vous éviterait de continuer à trier tout le temps.

numberList = [ ]

with open('Numbers.txt','r') as file:   
    for line in file:         
        for word in line.split():
            numberList.append(word)

numberList = sorted(list(map(int,numberList)))
file = open("Numbers.txt")
print(file.read())
file.close()
0
Blanks 27 août 2020 à 10:01

Si vous traitez avec des nombres, vous devez les convertir en int

numberList = [ ]

with open('Numbers.txt','r') as file:   
    for line in file:         
        for word in line.split():
            numberList.append(int(word))

numberList.sort()
1
JayPeerachai 27 août 2020 à 10:17