pendant que je passais par Google Python CLASS JOUR 1 PARTIE 2 À 14:20 - 14:30 mec dit "N'utilisez pas Quelqu'un peut-il me dire pourquoi nous ne devrions pas utiliser list.sort.sort code>" em>. Aussi, il a mentionné que "les dinosaures utilisent ça!" Em> (c'est-à-dire c'est une vieille façon de faire le tri). Mais il n'a pas mentionné la raison. P>
list.sort code>? p>
3 Réponses :
parce que Exemple: P> list.sort.sort () code> fera un tri en place. Cela change donc la liste d'origine. Mais trié (liste) code> créerait une nouvelle liste au lieu de modifier l'original. >>> s = [1,2,37,4]
>>> s.sort()
>>> s
[1, 2, 4, 37]
>>> s = [1,2,37,4,45]
>>> sorted(s)
[1, 2, 4, 37, 45]
>>> s
[1, 2, 37, 4, 45]
Merci pour votre réponse. Y a-t-il un autre inconvénient de l'utiliser?
@LaxMikant Je ne pense pas que faire un tri en place est un désavantage, il est plus efficace (selon Python Doc) et probablement le seul moyen de le faire si vous avez une très grande liste. Un désavantage "réel" est que cela ne soit défini que pour list code>, tandis que trié code> fonctionne sur n'importe quel ibler code>, donc si un jour vous décidez que vous décidez que vous décidez Besoin d'utiliser quelque chose d'autre que la liste, vous serez coincé :)
@Holt - merci pour la réponse
Je pense que c'est très opinent basé, parfois, vous devez modifier une liste d'origine et vous utiliser .sort () em>, parfois, vous n'avez pas besoin de le changer et que vous utilisez tri () em> p>
en général,
de https://wiki.python.org/moin/howto/sorting : p>
Vous pouvez également utiliser la méthode
list.sort.sort.sort.sort.sort () Code> Il modifie la Liste en place (et renvoieAucun code> pour éviter toute confusion). Généralement c'est moins pratique quetrié () code> - mais si vous n'avez pas besoin de la liste d'origine, Il est légèrement plus efficace. P> blockQuote>Beaucoup de personnes préfèrent ne pas changer l'état des variables (rechercher les avantages des valeurs / structures de données immuables), et préférez donc ne pas modifier la liste d'origine comme
list.sort.sort code>. p>
Les personnes qui préféraient des structures de données immuables utiliseraient un tuple code>, pas une liste code>?
D'accord, mais vous utilisez le code de quelqu'un d'autre et que vous souhaitez avoir un impact minimal, il est toujours vrai.