cari
Rumahpembangunan bahagian belakangTutorial PythonPengisihan senarai: Penjelasan terperinci tentang kaedah pengisihan, disusun dan numpy.argsort Python

Dalam pengaturcaraan Python, selalunya perlu mengisih senarai atau tatasusunan. Python menyediakan pelbagai kaedah pengisihan, termasuk isihan, diisih, numpy.argsort, dsb. Artikel ini akan memperkenalkan secara terperinci penggunaan dan langkah berjaga-jaga bagi kaedah pengisihan ini.

1. Kaedah isihan
Kaedah isihan ialah kaedah terbina dalam senarai Python Ia boleh mengisih senarai di tempatnya (iaitu, ia mengembalikan nilai tetapi tidak menghasilkan objek isihan baharu). , dan tidak memerlukan perpustakaan import tambahan. Kaedah isihan mempunyai dua parameter: kunci dan terbalik. kekunci menunjukkan kekunci yang digunakan semasa mengisih, dan terbalik menunjukkan sama ada hendak melakukan pengisihan terbalik. Contohnya:

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"]

Dalam contoh di atas, contoh pertama mengisih senarai integer, contoh kedua mengisih senarai dalam susunan terbalik dan contoh ketiga menggunakan ungkapan lambda untuk mengisih senarai rentetan mengikut panjang.

Perlu diambil perhatian bahawa kaedah isihan telah disediakan, yang akan mengubah susunan senarai asal Nilai pulangan ialah Tiada, jadi anda tidak boleh terus melakukan operasi pada senarai yang diisih a Buat salinan atau gunakan kaedah lain untuk menyimpan hasil yang diisih.

2. Fungsi diisih
Fungsi diisih ialah fungsi terbina dalam Python yang boleh mengisih senarai, tuple, rentetan, dsb., dan mengembalikan objek diisih baharu tanpa mengubah objek input asal. Parameter fungsi isihan adalah sama dengan kaedah isihan, termasuk kunci dan terbalik. Contohnya:

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"]

Nilai pulangan bagi fungsi yang diisih boleh menjadi senarai, tuple, rentetan, dll. Jenis hasil pulangan ditentukan berdasarkan jenis input.

3. Kaedah numpy.argsort
Kaedah numpy.argsort ialah kaedah dalam numpy, terutamanya digunakan untuk mengisih tatasusunan numpy. Kaedah argsort mengembalikan subskrip yang diisih. Parameter kaedah numpy.argsort juga adalah kunci dan terbalik. Contohnya:

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]

Dalam contoh di atas, contoh pertama mengisih tatasusunan numpy dalam tertib menaik dan mengembalikan subskrip yang diisih. Dalam contoh kedua, untuk mengisih dalam tertib menurun, anda perlu menyongsangkan tatasusunan. Contoh ketiga menyusun tatasusunan rentetan mengikut panjang.

Perlu diambil perhatian bahawa kaedah numpy.argsort mengembalikan senarai subskrip dan anda perlu menggunakan subskrip untuk mendapatkan hasil pengisihan.

Ringkasan:
Artikel ini terutamanya memperkenalkan kaedah isihan, diisih dan numpy.argsort dalam Python, yang boleh digunakan untuk mengisih senarai dan tatasusunan dalam Python. Kaedah isihan dan fungsi diisih boleh mengisih objek terbina dalam Python, dan kaedah numpy.argsort ialah kaedah dalam numpy, terutamanya digunakan untuk mengisih tatasusunan numpy. Kaedah ini boleh menggunakan parameter seperti kunci dan terbalik untuk mengawal tingkah laku pengisihan yang berbeza harus dipilih mengikut keperluan.

Atas ialah kandungan terperinci Pengisihan senarai: Penjelasan terperinci tentang kaedah pengisihan, disusun dan numpy.argsort Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Python: menyelam mendalam ke dalam kompilasi dan tafsiranPython: menyelam mendalam ke dalam kompilasi dan tafsiranMay 12, 2025 am 12:14 AM

Pythonusesahybridmodelofcompilationandinterpretation: 1) thepythoninterpretercompilessourcodcecodeintoplatform-independentbytecode.2) thepythonvirtualmachine (PVM) thenexecutesthisbytecode, BalantingeaseOfusoWithperformance.

Adakah Python diterjemahkan atau bahasa yang disusun, dan mengapa ia penting?Adakah Python diterjemahkan atau bahasa yang disusun, dan mengapa ia penting?May 12, 2025 am 12:09 AM

Pythonisbothinterpretedandandcompiled.1) it'scompiledtobytecodeforporabilityAcrossplatforms.2) theBytecodeistheninterpreted, membolehkanfordynamictypingandrapiddevelopment, walaupunItmayBeslowerLowerWanLelyCiledlanguages.

Untuk gelung vs semasa gelung di python: perbezaan utama dijelaskanUntuk gelung vs semasa gelung di python: perbezaan utama dijelaskanMay 12, 2025 am 12:08 AM

ForloopsareidealwhenyonesshenumberofiterationsationseSinadvance, whilewhileloopsarebetterforsituationshipheryouneedtoloopuntilaconditionismet.forloopsaremoreeficientablyandable, yang sesuai, manakala whileloopsoffermorecontrolandareusefereficeficeficeficeficient,

Untuk dan semasa gelung: panduan praktikalUntuk dan semasa gelung: panduan praktikalMay 12, 2025 am 12:07 AM

Forloopsareusedwhenthenumberofiterationsisknowninadvance, whilewhileloopsareusedwhenTheiterationsdependonacondition.1) forloopsareidealforiteratingoversequencesLikeListsorArrays.2)

Python: Adakah ia benar -benar ditafsirkan? Membebaskan mitosPython: Adakah ia benar -benar ditafsirkan? Membebaskan mitosMay 12, 2025 am 12:05 AM

Pythonisnotpurelyinterinterpreted; itusesahybridapproachofbytecodecompilationandruntimeinterpretation.1) pythoncompilessourcecodeintobytecode, whoomeSthenexecutedbythepythonvirtualmachine (pvm)

Senarai concatenate python dengan elemen yang samaSenarai concatenate python dengan elemen yang samaMay 11, 2025 am 12:08 AM

ToConcatenatelistsinpythonwiththesameelements, gunakan: 1) operatortokokduplicates, 2) asettoremoveduplicates, OR3) listomprehensionfensionfensionfensionfensiontroloverduplicates, setiapmethodhasdifferentperformanceAdordlications.

Ditafsirkan vs bahasa yang disusun: Tempat PythonDitafsirkan vs bahasa yang disusun: Tempat PythonMay 11, 2025 am 12:07 AM

Pythonisaninterpretedlanguage, menawarkanfuseofuseandflexibilitybutfacingperpormancelimitationsincriticalapplications.1) interpretlanguagesepythonexecuteline-by-line, membolehkanMmediateDebackandrapidprototyping.2)

Untuk dan semasa gelung: Bilakah anda menggunakan setiap python?Untuk dan semasa gelung: Bilakah anda menggunakan setiap python?May 11, 2025 am 12:05 AM

Useforloopswhenthenumberofiterationsisknowninadvance,andwhileloopswheniterationsdependonacondition.1)Forloopsareidealforsequenceslikelistsorranges.2)Whileloopssuitscenarioswheretheloopcontinuesuntilaspecificconditionismet,usefulforuserinputsoralgorit

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Nordhold: Sistem Fusion, dijelaskan
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.