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.
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()
sorted_copy = sorted(mylist)
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))
Fungsi pembantu cmp_to_key() menukar fungsi bandingkan kepada fungsi utama, memastikan perbandingan hanya dilakukan sekali bagi setiap elemen.
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)
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.
sorted_incorrect = sorted(mylist, key=lambda x: x.lower())
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!