Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Mengisih Rentetan dalam Python: Panduan Komprehensif dengan Contoh Kod

Cara Mengisih Rentetan dalam Python: Panduan Komprehensif dengan Contoh Kod

Barbara Streisand
Barbara Streisandasal
2024-11-11 17:12:02428semak imbas

How to Sort Strings in Python: A Comprehensive Guide with Code Examples

Isih Rentetan dalam Python: Panduan Komprehensif

Apabila bekerja dengan senarai rentetan dalam Python, menyusunnya mengikut abjad ialah tugas biasa . Artikel ini menyediakan analisis mendalam tentang kaedah yang tersedia untuk mengisih rentetan, meneroka sintaks, nuansa dan pertimbangan prestasinya.

Isih Asas

Yang paling mudah kaedah untuk mengisih senarai rentetan di tempat ialah fungsi sort(). Kaedah ini mengubah suai senarai asal dan mengisih unsurnya dalam susunan abjad. Sebagai alternatif, fungsi sorted() boleh digunakan untuk mencipta salinan isih senarai tanpa mengubah suai yang asal.


mylist = ["b", "C", "A"]
mylist.sort()

Hasil: ["A", "C", "b"]

sorted_copy = sorted(mylist)

Hasil: ["A" , "C", "b"] (salinan diisih, senarai asal tidak diubah)

Isih Sedar Tempatan

Isih asas kaedah tidak mengambil kira peraturan pengisihan khusus setempat. Untuk mengambil kira nuansa khusus bahasa, parameter kunci pilihan boleh digunakan dengan fungsi sorted(). Parameter utama menerima fungsi yang mentakrifkan susunan pengisihan.


import locale
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') # Tetapkan tempat yang dikehendaki

sorted_locale = sorted(mylist, key=cmp_to_key(locale.strcoll))

Hasil: ["A", "b", "C"] (diisih mengikut peraturan bahasa Inggeris)

Fungsi pembantu cmp_to_key() menukar fungsi bandingkan kepada fungsi utama, memastikan perbandingan hanya dilakukan sekali bagi setiap elemen.

Pesanan Isih Tersuai

Parameter utama membolehkan lebih fleksibiliti dalam menentukan pesanan isihan tersuai. Sebagai contoh, kod berikut mentakrifkan fungsi yang melaksanakan pengisihan tidak peka huruf besar/kecil:


def ignore_case(string):

return string.lower()

sorted_case_insensitive = sorted(mylist, key=ignore_case)

Keputusan: ["A", "b", "C"] (abaikan huruf besar semasa mengisih)

Perangkap yang Perlu Dielakkan

Adalah penting untuk ambil perhatian bahawa menggunakan kaedah lower() sebagai kunci pengisihan adalah tidak betul untuk data bukan bahasa Inggeris, kerana ia hanya beroperasi pada subset aksara ASCII.

Penggunaan salah!

sorted_incorrect = sorted(mylist, key=lambda x: x.lower())

Hasil: ["A", "C", "b"] ( pengisihan yang salah untuk aksara bukan ASCII)

Atas ialah kandungan terperinci Cara Mengisih Rentetan dalam Python: Panduan Komprehensif dengan Contoh Kod. 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