Bagaimana untuk Mengisih Rentetan dalam Python: Di Tempat, Salinan, Sedar Tempatan dan Tempat Tersuai?

DDD
Lepaskan: 2024-11-10 17:26:03
asal
951 orang telah melayarinya

How to Sort Strings in Python: In-Place,  Copies, Locale-Aware, and Custom Locales?

Isih Senarai Rentetan dalam Python

Salah satu tugas biasa dalam pengaturcaraan ialah menyusun senarai rentetan. Dalam Python, terdapat beberapa cara untuk mencapai ini, masing-masing mempunyai kelebihan dan kaveat tersendiri.

Isih Di Tempat

Pendekatan paling mudah ialah menggunakan isihan( ) kaedah secara langsung dalam senarai. Ini mengubah suai senarai asal, mengisih unsurnya mengikut abjad di tempatnya. Walau bagaimanapun, pendekatan ini tidak sesuai jika anda ingin mengekalkan susunan asal senarai.

mylist = ["b", "C", "A"]
mylist.sort()
Salin selepas log masuk

Mencipta Salinan Isih

Untuk mendapatkan salinan yang diisih bagi senarai tanpa mengubah suai yang asal, gunakan fungsi sorted():

for x in sorted(mylist):
    print(x)
Salin selepas log masuk

Locale-Aware Pengisihan

Kaedah pengisihan yang diterangkan di atas melaksanakan pengisihan yang sensitif huruf besar dan tidak mengetahui lokasi. Untuk mengambil kira peraturan khusus setempat, anda boleh menggunakan parameter utama fungsi sort() atau sorted(), bersama-sama dengan fungsi pembantu cmp_to_key() daripada modul functools:

sorted(mylist, key=cmp_to_key(locale.strcoll))
Salin selepas log masuk

Ini akan mengisih senarai mengikut tetapan tempat semasa.

Tersuai Tempatan

Akhir sekali, jika anda perlu menentukan tempat tersuai untuk mengisih, gunakan fungsi setlocale() daripada modul setempat:

import locale
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
sorted((u'Ab', u'ad', u'aa'), key=cmp_to_key(locale.strcoll))
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Rentetan dalam Python: Di Tempat, Salinan, Sedar Tempatan dan Tempat Tersuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan