Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menyusun Senarai Rentetan secara Numerik dalam Python?

Bagaimana untuk Menyusun Senarai Rentetan secara Numerik dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-20 09:50:10987semak imbas

How to Numerically Sort a List of Strings in Python?

Isih Nombor Senarai Rentetan dalam Python

Percubaan untuk mengisih senarai rentetan secara berangka dalam Python menggunakan fungsi sort() boleh mengakibatkan hasil yang tidak dijangka. Algoritma pengisihan lalai untuk rentetan dalam Python selalunya mengikut abjad dan bukannya berangka.

Untuk mengisih senarai rentetan secara berangka, rentetan mesti ditukar kepada integer terlebih dahulu. Walau bagaimanapun, coretan kod yang disediakan cuba menukar rentetan kepada integer tetapi tidak menggunakan nilai yang ditukar untuk mengisih.

Pendekatan yang betul ialah menukar rentetan kepada integer menggunakan pemahaman senarai:

list1 = ["1", "10", "3", "22", "23", "4", "2", "200"]
list1 = [int(x) for x in list1]

Setelah rentetan ditukar kepada integer, senarai boleh diisih menggunakan sort() fungsi:

list1.sort()

Ini akan menyebabkan senarai diisih dalam susunan berangka menaik.

Sebagai alternatif, jika perlu mengekalkan elemen sebagai rentetan, fungsi utama boleh digunakan untuk nyatakan kriteria perbandingan. Fungsi utama dipanggil pada setiap elemen sebelum ia dibandingkan, dan nilai pulangan digunakan untuk perbandingan dan bukannya elemen itu sendiri:

list1.sort(key=int)

Ini juga akan mengisih senarai secara berangka, tetapi elemen akan kekal sebagai rentetan.

Atas ialah kandungan terperinci Bagaimana untuk Menyusun Senarai Rentetan secara Numerik dalam 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