Maison >développement back-end >Tutoriel Python >Explication détaillée de l'utilisation de la méthode sort en python

Explication détaillée de l'utilisation de la méthode sort en python

不言
不言original
2018-04-09 17:24:413447parcourir

Cet article présente principalement la méthode de tri en python. Les amis qui en ont besoin peuvent s'y référer

La méthode sort() en Python est utilisée pour le tri des tableaux. exemples :

1. Formulaire de base
La liste a sa propre méthode de tri, qui trie la liste sur place. Puisqu'il s'agit d'un tri sur place, il est évident qu'il s'agit de tuples. ne peut pas avoir cette méthode, car les groupes de tuples ne peuvent pas être modifiés.

x = [4, 6, 2, 1, 7, 9]
x.sort()
print x # [1, 2, 4, 6, 7, 9]

Si vous avez besoin d'une copie triée tout en gardant la liste originale inchangée, comment y parvenir

x =[4, 6, 2, 1, 7, 9]
y = x[ : ]
y.sort()
print y #[1, 2, 4, 6, 7, 9]
print x #[4, 6, 2, 1, 7, 9]

Remarque : y = x[:] copie tous les éléments de la liste x vers y via une opération de découpage. Si x est simplement attribué à y : y = x, y et x pointent toujours vers la même liste, et aucune nouvelle copie n'est générée .

Une autre façon d'obtenir une copie de la liste triée est d'utiliser la fonction triée :

x =[4, 6, 2, 1, 7, 9]
y = sorted(x)
print y #[1, 2, 4, 6, 7, 9]
print x #[4, 6, 2, 1, 7, 9]

sorted renvoie un Une copie de la commande, et le type est toujours une liste, comme suit :

print sorted('Python') #['P', 'h', 'n', 'o', 't', 'y']

2. Fonction de comparaison personnalisée

Vous pouvez définir votre propre fonction de comparaison puis la transmettre à la méthode de tri via les paramètres :

def comp(x, y):
if x < y:
return 1
elif x > y:
return -1
else:
return 0

nums = [3, 2, 8 ,0 , 1]
nums.sort(comp)
print nums # 降序排序[8, 3, 2, 1, 0]
nums.sort(cmp) # 调用内建函数cmp ,升序排序
print nums # 降序排序[0, 1, 2, 3, 8]

3. Paramètres facultatifs

La méthode de tri a également deux paramètres facultatifs : key et reverse

Lors de l'utilisation de key, une fonction qui est. appelé par le processus de tri doit être fourni :

x = [&#39;mmm&#39;, &#39;mm&#39;, &#39;mm&#39;, &#39;m&#39; ]
x.sort(key = len)
print x # [&#39;m&#39;, &#39;mm&#39;, &#39;mm&#39;, &#39;mmm&#39;]

2. Pour inverser par ordre décroissant, vous devez fournir une valeur booléenne :

y = [3, 2, 8 ,0 , 1]
y.sort(reverse = True)
print y #[8, 3, 2, 1, 0]


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