


Comment trier une liste de chaînes numériques en Python ?
Dec 04, 2024 pm 08:32 PMTri d'une liste de chaînes numériques
La fonction sort() de Python peut prêter à confusion lorsqu'il s'agit de chaînes représentant des nombres. Cet article explique pourquoi et présente des solutions pour trier ces listes numériquement.
Le problème :
Considérez l'extrait de code ci-dessous :
list1 = ["1", "10", "3", "22", "23", "4", "2", "200"] for item in list1: item = int(item) list1.sort() print(list1)
Ceci le code tente de convertir chaque chaîne de la liste en un entier, puis de trier la liste. Cependant, le résultat est incorrect :
['1', '10', '2', '200', '22', '23', '3', '4']
La solution :
Le problème dans le code donné est que même si chaque chaîne est convertie en un entier dans la boucle , la boucle ne met pas à jour la liste d'origine. Pour résoudre ce problème, convertissez les chaînes en entiers et créez une nouvelle liste :
list1 = [int(x) for x in list1] list1.sort()
Utilisation d'une fonction clé :
Si vous devez conserver les chaînes au lieu de en les convertissant en entiers, vous pouvez utiliser le paramètre key dans la fonction sort() :
list1 = ["1", "10", "3", "22", "23", "4", "2", "200"] list1.sort(key=int)
ou dans un seul line:
list1 = sorted([int(x) for x in list1])
Dans les deux cas, la fonction int() est appelée comme clé sur chaque chaîne avant de la comparer, permettant de trier numériquement la liste.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment utiliser la belle soupe pour analyser HTML?

Comment télécharger des fichiers dans Python

Comment utiliser Python pour trouver la distribution ZIPF d'un fichier texte

Comment travailler avec des documents PDF à l'aide de Python

Comment se cacher en utilisant Redis dans les applications Django

Comment effectuer l'apprentissage en profondeur avec TensorFlow ou Pytorch?

Présentation de la boîte à outils en langage naturel (NLTK)
