Maison >développement back-end >Tutoriel Python >Explication détaillée de l'utilisation de la méthode sort en python
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 = ['mmm', 'mm', 'mm', 'm' ] x.sort(key = len) print x # ['m', 'mm', 'mm', 'mmm']
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!