


Bagaimana Mengisih Rentetan yang Mengandungi Nombor Secara Semulajadi dalam Python?
Mengisih Rentetan dengan Nombor Terbenam
Apabila berurusan dengan rentetan yang mengandungi nombor, menyusunnya mengikut abjad mungkin tidak menghasilkan hasil yang diingini. Untuk mengisih rentetan sedemikian dengan betul, anda perlu mempertimbangkan kedua-dua komponen teks dan berangka.
Isih Manusia (Isih Semulajadi)
Isih semulajadi, juga dikenali sebagai isihan manusia, ialah teknik yang digunakan untuk menyusun item dengan cara yang konsisten dengan cara manusia melihatnya. Pendekatan ini melibatkan mengekstrak nombor daripada rentetan dan kemudian mengisihnya berdasarkan nilai berangkanya.
Dalam Python, anda boleh melaksanakan pengisihan semula jadi menggunakan kekunci isihan tersuai berikut:
def natural_keys(text): return [int(c) if c.isdigit() else c for c in re.split(r'(\d+)', text)]
Ini fungsi membahagikan rentetan kepada aksara dan nombor dan kemudian menukar aksara berangka kepada integer. Senarai diisih diperoleh dengan memanggil fungsi sort() dengan kunci tersuai ini:
alist = ["something1", "something12", "something17", "something2", "something25", "something29"] alist.sort(key=natural_keys) print(alist)
Outputnya ialah:
['something1', 'something2', 'something12', 'something17', 'something25', 'something29']
Isih Rentetan dengan Terapung
Jika rentetan anda mengandungi nombor titik terapung, anda boleh mengubah suai kekunci pengisihan semula jadi untuk mengekstrak dan menukar kepada terapung menggunakan regex berikut:
def natural_keys(text): return [float(c) if c.isdigit() else c for c in re.split(r'[+-]?([0-9]+(?:[.][0-9]*)?|[.][0-9]+)', text)]
Kunci diubah suai ini membolehkan anda mengisih rentetan dengan nombor titik terapung juga:
alist = ["something1", "something2", "something1.0", "something1.25", "something1.105"] alist.sort(key=natural_keys) print(alist)
Outputnya ialah:
['something1', 'something1.0', 'something1.105', 'something1.25', 'something2']
Dengan menggunakan teknik pengisihan manusia, anda boleh mengisih rentetan dengan nombor terbenam dengan cekap dengan cara yang sejajar dengan manusia gerak hati.
Atas ialah kandungan terperinci Bagaimana Mengisih Rentetan yang Mengandungi Nombor Secara Semulajadi dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Pythonusesahybridapproach, combiningcompilationtobytecodeandinterpretation.1) codeiscompiledtopplatform-independentbytecode.2) byteCodeisinterpretedbythepythonvirtualmachine, enhancingficiencyAndortability.

TheKeydifferencesbetweenpython's "for" and "while" loopsare: 1) "untuk" loopsareidealforiteratingoversequencesorknowniterations, while2) "manakala" loopsarebetterforcontinuinguntilaconditionismetwithoutpredefinediterations.un

Di Python, anda boleh menyambungkan senarai dan menguruskan elemen pendua melalui pelbagai kaedah: 1) Gunakan pengendali atau melanjutkan () untuk mengekalkan semua elemen pendua; 2) Tukar ke set dan kemudian kembali ke senarai untuk mengalih keluar semua elemen pendua, tetapi pesanan asal akan hilang; 3) Gunakan gelung atau senarai pemantauan untuk menggabungkan set untuk menghapuskan elemen pendua dan mengekalkan urutan asal.

ThfastestmethodforlistconcatenationInpythondondedonListsize: 1) forsmalllists, the operatoriseSefficient.2) forlargerlists, list.extend () orlistComprehensionisfaster, withExtend () ausmorememory-efficientyModifingListsin-tempat.

ToinSertelementsIntoapythonlist, useAppend () toaddtotheend, memasukkan () foraspecificposition, andExtend () formultipleelements.1) useAppend () foraddingsingleitemstotheend.2) useInsert () toaddataSpecificIndex, evenItForForForForForForShoStoRd

Pythonlistsareimplementedasdynamicarrays, notlinkedlists.1) thearestoredincontiguousmemoryblocks, yangMayrequireReAllocationWhenAppendingItems, ImpactingPormance.2) LinkedListSwouldOfferefficientInsertions/DeletionsButsCoweCcess

PythonoffersfourmainmethodstoremoveelementsFromalist: 1) Keluarkan (nilai) RemoveStHefirStoccurrenceFavalue, 2) Pop (index) RemoveRandReturnSanelementAtaspeciedIndex, 3)

Ralat toresolvea "kebenaran" yang mana -mana, berikut: 1) checkandadjustthescript'spermissionsingchmod xmyscript.shtomakeitexecutable.2) EnsurethescriptislocatedInadirectoryHeryouhaveVerPiSs, suchasyoursory, suchasyourshy, suchasyourperhysh, suchasyourshy.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

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.

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Dreamweaver Mac版
Alat pembangunan web visual

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa
