Python - Urutkan Daftar
Urutkan Daftar Secara Alfanumerik
Objek daftar memiliki
sort()
metode yang akan mengurutkan daftar secara alfanumerik, menaik, secara default:
Contoh
Urutkan daftar menurut abjad:
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort()
print(thislist)
Contoh
Urutkan daftar secara numerik:
thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
Urutkan Turun
Untuk mengurutkan secara menurun, gunakan argumen kata kunci reverse = True
:
Contoh
Urutkan daftar secara turun:
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist)
Contoh
Urutkan daftar secara turun:
thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
print(thislist)
Sesuaikan Fungsi Sortir
Anda juga dapat menyesuaikan fungsi Anda sendiri dengan menggunakan argumen kata kunci .key =
function
Fungsi akan mengembalikan angka yang akan digunakan untuk mengurutkan daftar (angka terendah terlebih dahulu):
Contoh
Urutkan daftar berdasarkan seberapa dekat angkanya dengan 50:
def myfunc(n):
return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key =
myfunc)
print(thislist)
Sortir Tidak Peka Huruf Besar-kecil
Secara default, sort()
metode ini peka terhadap huruf besar/kecil, sehingga semua huruf kapital diurutkan sebelum huruf kecil:
Contoh
Penyortiran peka huruf besar/kecil dapat memberikan hasil yang tidak terduga:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
Untungnya kita dapat menggunakan fungsi bawaan sebagai fungsi utama saat menyortir daftar.
Jadi jika Anda menginginkan fungsi sortir case-insensitive, gunakan str.lower sebagai fungsi kunci:
Contoh
Lakukan pengurutan daftar yang tidak peka huruf besar-kecil:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key
= str.lower)
print(thislist)
Urutan terbalik
Bagaimana jika Anda ingin membalik urutan daftar, terlepas dari alfabetnya?
Metode reverse()
membalikkan urutan pengurutan elemen saat ini.
Contoh
Membalikkan urutan item daftar:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)