Maison >développement back-end >Tutoriel Python >`sorted(list)` vs `list.sort()` : quelle est la différence et quand dois-je utiliser chacun d'entre eux ?

`sorted(list)` vs `list.sort()` : quelle est la différence et quand dois-je utiliser chacun d'entre eux ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-18 19:17:02868parcourir

`sorted(list)` vs. `list.sort()`: What's the Difference and When Should I Use Each?

Comprendre la différence entre sorted(list) et list.sort()

En Python, trier les listes est une tâche courante. Deux méthodes couramment utilisées pour ce faire sont sorted(list) et list.sort(). Bien que les deux méthodes aboutissent à une liste triée, elles diffèrent considérablement dans leur fonctionnalité et leur utilisation.

Fonctionnalité

  • sorted(list) : renvoie une nouvelle liste triée liste. Il ne modifie pas la liste d'origine.
  • list.sort() : trie la liste sur place. Il modifie la liste d'origine et renvoie Aucun.

Cas d'utilisation

  • sorted(list) doit être préféré lorsque vous souhaitez conserver l'ordre d'origine des éléments et obtenez une copie triée.
  • list.sort() doit être utilisé lorsque vous n'avez besoin que d'une version triée de la liste et que cela ne vous dérange pas de modifier la liste originale.

Efficacité

  • Pour les listes, list.sort() est plus efficace que sorted(list) car il fonctionne sur place, évitant la création d'une nouvelle liste.
  • Pour les autres itérables (tels que les chaînes, les tuples, etc.), sorted(list) doit être utilisé car list.sort() n'est pas applicable aux non-listes.

Revenir à l'état d'origine

  • sorted(list) ne modifie pas la liste d'origine, donc l'ordre d'origine des éléments est conservé.
  • list.sort() trie les liste sur place, et il n'y a aucun moyen de récupérer l'ordre d'origine des éléments.

Conclusion

sorted(list) et list.sort() servir à des fins différentes. sorted(list) renvoie une nouvelle copie triée d'un itérable, tandis que list.sort() trie la liste sur place, ce qui la rend adaptée aux situations où vous souhaitez muter la liste d'origine. Le choix entre ces méthodes dépend de la fonctionnalité souhaitée et de la question de savoir si la préservation de l'ordre d'origine est une préoccupation.

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