Terdapat dua cara untuk mengisih senarai dalam susunan menaik atau menurun dalam Python.
sort()
sorted()
Jika anda ingin mengisih rentetan atau tupel, gunakan sorted().
Maklumat berikut disediakan di sini.
- Kaedah senarai jenis yang mengisih senarai asal
sort()
- Hasilkan senarai diisih baharu, fungsi terbina dalam: .
sorted()
- Bagaimana untuk mengisih rentetan dan tupel
Mengisih senarai asal, kaedah senarai jenis: sort()
sort() ialah kaedah jenis senarai.
Satu proses yang merosakkan di mana senarai asal itu sendiri ditulis semula.
org_list = [3, 1, 4, 5, 2]
org_list.sort()
print(org_list)
# [1, 2, 3, 4, 5]
Ambil perhatian bahawa sort() mengembalikan Tiada.
print(org_list.sort())
# None
Lalai ialah tertib menaik. Jika anda ingin mengisih dalam tertib menurun, tetapkan hujah terbalik kepada benar.
org_list.sort(reverse=True)
print(org_list)
# [5, 4, 3, 2, 1]
Hasilkan senarai diisih baharu, fungsi terbina dalam: sorted()
sorted() ialah fungsi terbina dalam.
Mengembalikan senarai diisih apabila senarai yang hendak diisih ditentukan sebagai hujah. Ini adalah proses yang tidak merosakkan yang tidak mengubah senarai asal.
org_list = [3, 1, 4, 5, 2]
new_list = sorted(org_list)
print(org_list)
print(new_list)
# [3, 1, 4, 5, 2]
# [1, 2, 3, 4, 5]
Seperti sort(), lalai ialah tertib menaik. Jika anda ingin mengisih dalam tertib menurun, tetapkan hujah terbalik kepada benar.
new_list_reverse = sorted(org_list, reverse=True)
print(org_list)
print(new_list_reverse)
# [3, 1, 4, 5, 2]
# [5, 4, 3, 2, 1]
Bagaimana untuk mengisih rentetan dan tupel
Oleh kerana rentetan dan tupel tidak boleh diubah, tiada kaedah sort() tersedia untuk menulis semula objek asal.
Sebaliknya, hujah fungsi sorted(), yang menjana senarai diisih sebagai objek baharu, boleh menjadi rentetan atau tupel serta senarai. Walau bagaimanapun, memandangkan sorted() mengembalikan senarai, ia perlu ditukar kepada rentetan atau tupel.
Menyusun rentetan
Apabila rentetan ditentukan sebagai hujah bagi fungsi sorted(), senarai dikembalikan di mana setiap aksara rentetan diisih disimpan sebagai elemen.
org_str = 'cebad'
new_str_list = sorted(org_str)
print(org_str)
print(new_str_list)
# cebad
# ['a', 'b', 'c', 'd', 'e']
Untuk menggabungkan senarai rentetan menjadi rentetan tunggal, gunakan kaedah join().
new_str = ''.join(new_str_list)
print(new_str)
# abcde
Jika anda ingin mengisih dalam tertib menurun, tetapkan hujah terbalik kepada benar.
new_str = ''.join(sorted(org_str))
print(new_str)
# abcde
new_str_reverse = ''.join(sorted(org_str, reverse=True))
print(new_str_reverse)
# edcba
Saiz rentetan ditentukan oleh titik kod Unicode (kod aksara) aksara.
Menyusun tupel
Tuple adalah sama dengan rentetan; menentukan tupel sebagai hujah fungsi sorted() mengembalikan senarai unsur yang diisih.
org_tuple = (3, 1, 4, 5, 2)
new_tuple_list = sorted(org_tuple)
print(org_tuple)
print(new_tuple_list)
# (3, 1, 4, 5, 2)
# [1, 2, 3, 4, 5]
Untuk menukar senarai kepada tupel, gunakan tuple().
new_tuple = tuple(new_tuple_list)
print(new_tuple)
# (1, 2, 3, 4, 5)
Jika anda ingin mengisih dalam tertib menurun, tetapkan hujah terbalik kepada benar.
new_tuple = tuple(sorted(new_tuple_list))
print(new_tuple)
# (1, 2, 3, 4, 5)
new_tuple_reverse = tuple(sorted(new_tuple_list, reverse=True))
print(new_tuple_reverse)
# (5, 4, 3, 2, 1)