recherche
Maisondéveloppement back-endTutoriel PythonTri de liste : explication détaillée des méthodes Python sort, sorted et numpy.argsort

在Python编程中,经常需要对列表或数组进行排序操作。Python提供了多种排序方法,包括sort、sorted和numpy.argsort等。本文将详细介绍这些排序方法的使用方法和注意事项。

一、sort方法
sort方法是Python列表中内置的方法,可以对列表进行原地排序(即有返回值但不产生新的排序对象),不需要额外的导入库。sort方法的参数有两个:key和reverse。key表示排序时使用的键,reverse表示是否进行倒序排序。例如:

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
my_list.sort()
print(my_list) # 输出 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

my_list.sort(reverse=True)
print(my_list) # 输出 [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

my_list = ["apple", "banana", "cherry", "orange"]
my_list.sort(key=lambda x: len(x))
print(my_list) # 输出 ["apple", "cherry", "orange", "banana"]

以上例子中,第一个例子对整数列表进行排序,第二个例子进行倒序排序,第三个例子使用了lambda表达式对字符串列表按长度排序。

需要注意的是,sort方法是原地排序,即会改变原有列表的顺序,返回值是None,所以不能直接对排序后的列表执行操作,需要在排序前先创建一个副本或使用其他方法存储排序后的结果。

二、sorted函数
sorted函数是Python内置的函数,可以对列表、元组、字符串等排序,并且返回一个新的排序后的对象,不改变原始输入对象。sorted函数的参数与sort方法相同,包括key和reverse。例如:

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
new_list = sorted(my_list)
print(new_list) # 输出 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

new_list = sorted(my_list, reverse=True)
print(new_list) # 输出 [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

my_list = ["apple", "banana", "cherry", "orange"]
new_list = sorted(my_list, key=lambda x: len(x))
print(new_list) # 输出 ["apple", "cherry", "orange", "banana"]

sorted函数的返回值可以是列表、元组、字符串等类型,根据输入类型决定返回结果的类型。

三、numpy.argsort方法
numpy.argsort方法是numpy中的方法,主要用来对numpy数组进行排序。argsort方法返回排序后的下标。numpy.argsort方法的参数也是key和reverse。例如:

import numpy as np

my_array = np.array([3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5])
sort_index = np.argsort(my_array)
print(sort_index) # 输出 [1 3 6 0 9 2 4 8 7 5 10]

sort_index = np.argsort(-my_array)
print(sort_index) # 输出 [5 7 4 2 0 3 6 8 9 1 10]

my_array = np.array(["apple", "banana", "cherry", "orange"])
sort_index = np.argsort([len(x) for x in my_array])
print(sort_index) # 输出 [0 2 3 1]

以上例子中,第一个例子对numpy数组进行升序排序,并返回排序后的下标。第二个例子进行降序排序,需要对数组取相反数。第三个例子对字符串数组按长度排序。

需要注意的是,numpy.argsort方法返回的是下标列表,需要通过下标来获取排序结果。

总结:
本文主要介绍了Python中的sort、sorted和numpy.argsort方法,这些方法可用于对Python中的列表和数组进行排序。其中sort方法和sorted函数可以对Python内置的对象进行排序,numpy.argsort方法则是numpy中的方法,主要用于对numpy数组进行排序。这些方法都可以使用key和reverse等参数来控制排序行为,应根据需要选用不同的排序方法。

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
Python: automatisation, script et gestion des tâchesPython: automatisation, script et gestion des tâchesApr 16, 2025 am 12:14 AM

Python excelle dans l'automatisation, les scripts et la gestion des tâches. 1) Automatisation: La sauvegarde du fichier est réalisée via des bibliothèques standard telles que le système d'exploitation et la fermeture. 2) Écriture de script: utilisez la bibliothèque PSUTIL pour surveiller les ressources système. 3) Gestion des tâches: utilisez la bibliothèque de planification pour planifier les tâches. La facilité d'utilisation de Python et la prise en charge de la bibliothèque riche en font l'outil préféré dans ces domaines.

Python et temps: tirer le meilleur parti de votre temps d'étudePython et temps: tirer le meilleur parti de votre temps d'étudeApr 14, 2025 am 12:02 AM

Pour maximiser l'efficacité de l'apprentissage de Python dans un temps limité, vous pouvez utiliser les modules DateTime, Time et Schedule de Python. 1. Le module DateTime est utilisé pour enregistrer et planifier le temps d'apprentissage. 2. Le module de temps aide à définir l'étude et le temps de repos. 3. Le module de planification organise automatiquement des tâches d'apprentissage hebdomadaires.

Python: jeux, GUIS, et plusPython: jeux, GUIS, et plusApr 13, 2025 am 12:14 AM

Python excelle dans les jeux et le développement de l'interface graphique. 1) Le développement de jeux utilise Pygame, fournissant des fonctions de dessin, audio et d'autres fonctions, qui conviennent à la création de jeux 2D. 2) Le développement de l'interface graphique peut choisir Tkinter ou Pyqt. Tkinter est simple et facile à utiliser, PYQT a des fonctions riches et convient au développement professionnel.

Python vs C: applications et cas d'utilisation comparésPython vs C: applications et cas d'utilisation comparésApr 12, 2025 am 12:01 AM

Python convient à la science des données, au développement Web et aux tâches d'automatisation, tandis que C convient à la programmation système, au développement de jeux et aux systèmes intégrés. Python est connu pour sa simplicité et son écosystème puissant, tandis que C est connu pour ses capacités de contrôle élevées et sous-jacentes.

Le plan Python de 2 heures: une approche réalisteLe plan Python de 2 heures: une approche réalisteApr 11, 2025 am 12:04 AM

Vous pouvez apprendre les concepts de programmation de base et les compétences de Python dans les 2 heures. 1. Apprenez les variables et les types de données, 2. Flux de contrôle maître (instructions et boucles conditionnelles), 3. Comprenez la définition et l'utilisation des fonctions, 4. Démarrez rapidement avec la programmation Python via des exemples simples et des extraits de code.

Python: Explorer ses applications principalesPython: Explorer ses applications principalesApr 10, 2025 am 09:41 AM

Python est largement utilisé dans les domaines du développement Web, de la science des données, de l'apprentissage automatique, de l'automatisation et des scripts. 1) Dans le développement Web, les cadres Django et Flask simplifient le processus de développement. 2) Dans les domaines de la science des données et de l'apprentissage automatique, les bibliothèques Numpy, Pandas, Scikit-Learn et Tensorflow fournissent un fort soutien. 3) En termes d'automatisation et de script, Python convient aux tâches telles que les tests automatisés et la gestion du système.

Combien de python pouvez-vous apprendre en 2 heures?Combien de python pouvez-vous apprendre en 2 heures?Apr 09, 2025 pm 04:33 PM

Vous pouvez apprendre les bases de Python dans les deux heures. 1. Apprenez les variables et les types de données, 2. Structures de contrôle maître telles que si les instructions et les boucles, 3. Comprenez la définition et l'utilisation des fonctions. Ceux-ci vous aideront à commencer à écrire des programmes Python simples.

Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures?Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures?Apr 02, 2025 am 07:18 AM

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit