Maison >développement back-end >Tutoriel Python >Partagez des exemples d'utilisation du tri 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[:] en divisant The ? L'opération slice copie tous les éléments de la liste x vers y. Si x est simplement attribué à y : y = x, y et x pointent toujours vers la même liste, et aucune nouvelle copie n'est produite .
Une autre façon d'obtenir une copie d'une liste triée est d'utiliser la fonction sorted :
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 une copie ordonnée, et le type est toujours un list , 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
1. Lors de l'utilisation de key, vous devez fournir une fonction appelée par le processus de tri :
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]【Recommandations associées】1.
Explication détaillée de la façon d'utiliser sort() en Python
2. l'utilisation de valeurs() dans le tutoriel d'exemple PythonExemple d'utilisation de sort_values isin dans pandas DataFrameCe 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!