Maison >développement back-end >Tutoriel Python >Comment trier numériquement une liste de chaînes en Python ?

Comment trier numériquement une liste de chaînes en Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-03 13:07:11961parcourir

How to Sort a List of Strings Numerically in Python?

Tri numérique des chaînes

Le tri d'une liste de chaînes contenant des caractères numériques en Python peut conduire à des résultats inattendus s'il n'est pas géré correctement. Pour obtenir le comportement de tri souhaité, il est nécessaire de convertir les chaînes en valeurs numériques avant d'appliquer la fonction de tri.

Dans l'exemple fourni, l'utilisateur tente de trier une liste de « nombres » de chaînes en les convertissant en entiers à l’aide d’une boucle. Cependant, cela convertit uniquement les chaînes en entiers dans la boucle et la liste originale1 reste inchangée.

Pour trier correctement la liste numériquement, suivez ces étapes :

  1. Convertissez toutes les chaînes dans la liste aux entiers :
list1 = ["1", "10", "3", "22", "23", "4", "2", "200"]
list1 = [int(x) for x in list1]
  1. Appliquer la fonction de tri à la liste des entiers :
list1.sort()

Cela produira la liste triée : ['1', '2', '3', '4', '10', '22', '23', '200'].

Alternativement, une fonction clé peut être utilisée pour trier la liste en fonction de la valeur numérique de chaque chaîne sans les convertir en nombres entiers :

list1 = ["1", "10", "3", "22", "23", "4", "2", "200"]
list1.sort(key=int)

Cela entraînera le même ordre de tri qu'avant.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn