Menyortir daftar dengan Python memungkinkan Anda mengatur itemnya dalam urutan naik atau turun.
Alih-alih menulis blok kode yang panjang untuk melakukan itu, Python memiliki metode bawaan yang memungkinkan Anda mengurutkan item dalam daftar atau larik apa pun. Kami akan menjelaskan cara melakukannya di posting ini.
Cara Menyortir Daftar dengan Python
Anda dapat mengurutkan item dalam daftar atau larik menggunakan Python menyortir() metode.
Itu menyortir() metode di Python menerima dua argumen opsional dan sintaksnya terlihat seperti ini:
list.sort (key = function, reverse = True / False)
Secara default, file menyortir() metode mengatur item dari daftar dalam urutan menaik:
myList = ["C", "D", "B", "A", "F"]
myList.sort ()
cetak (myList)
Keluaran: ['A', 'B', 'C', 'D', 'F']
Anda bisa menggunakan balik argumen untuk melihat daftar dalam urutan menurun:
myList = ["C", "D", "B", "A", "F"]
myList.sort (reverse = True)
cetak (myList)
Keluaran: ['F', 'D', 'C', 'B', 'A']
Anda juga dapat menyusun item dalam daftar dengan panjang setiap string.
Untuk melakukannya, buat fungsi dan teruskan ke menyortir() metode menggunakan opsional kunci argumen:
myList = ["MUO", "Python", "JavaScript", "Sort", "Sortlists"]
def sortLength (item):
return len (item)
myList.sort (reverse = True, key = sortLength)
cetak (myList)
Keluaran: ['JavaScript', 'Sortlists', 'Python', 'Sort', 'MUO']
Cara Mengurutkan Daftar Kamus dengan Python
Anda bisa menggunakan menyortir() metode untuk mengurutkan daftar kamus juga.
Mari kita urutkan tugas dalam kamus di bawah ini menurut waktunya:
myArray = [
{"Task": "Wash", "Time": 12.00},
{"Task": "Football", "Time": 24.00},
{"Task": "Sort", "Time": 17.00},
{"Task": "Code", "Time": 15.00}
]
def sortByTime (item):
kembalikan item ["Time"]
myArray.sort (key = sortByTime)
cetak (myArray)
Karena nilai waktu adalah bilangan bulat, blok kode di atas mengatur ulang larik berdasarkan waktu tugas.
Terkait: Bagaimana Array dan Daftar Bekerja dengan Python
Selain mengurutkan array di atas berdasarkan waktu, Anda juga bisa menyusunnya menurut abjad menggunakan tugas, yaitu string.
Untuk mengurutkan berdasarkan string dalam contoh larik, Anda hanya perlu mengubahnya Waktu dalam tanda kurung siku ke Tugas:
myArray = [
{"Task": "Wash", "Time": 12.00},
{"Task": "Football", "Time": 24.00},
{"Task": "Sort", "Time": 17.00},
{"Task": "Code", "Time": 15.00}
]
def sortByTime (item):
mengembalikan item ["Task"]
myArray.sort (key = sortByTime)
cetak (myArray)
Anda juga dapat mengurutkan tugas dalam urutan terbalik dengan mengatur balik benar:
myArray.sort (key = sortByTime, reverse = True)
Anda juga bisa menggunakan fungsi lambda dengan menyortir() untuk kode yang lebih bersih:
myArray.sort (key = lambda getTime: getTime ["Time"])
cetak (myArray)
Cara Mengurutkan Daftar Python Bersarang
Anda dapat mengurutkan daftar tupel bertingkat menurut indeks setiap elemen bertingkat dalam daftar itu.
Misalnya, kode di bawah ini menggunakan item ketiga di setiap tupel untuk mengurutkan daftar dalam urutan menaik:
Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def sortByThirdIndex (a):
mengembalikan [2]
Alist.sort (key = sortByThirdIndex)
cetak (Alist)
Keluaran: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]
Pada output di atas, item ketiga di setiap tupel meningkat dari nol menjadi dua puluh berturut-turut.
Perhatikan bahwa ini tidak berfungsi dengan set Python karena Anda tidak dapat mengindeksnya. Selain itu, setiap sarang dalam daftar harus dimiliki oleh tipe data yang sama.
Terkait: Apa Itu Set dengan Python dan Cara Membuatnya
Namun, untuk mengatur keluaran dalam urutan menurun:
Alist.sort (key = getIndex, reverse = True)
cetak (Alist)
Keluaran: [(3, 19, 20), (1, 8, 15), (10, 19, 4), (7, 9, 3), (2, 6, 0)]
Mari kita lihat bagaimana tampilannya dengan file lambda berfungsi juga:
Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = diurutkan (Alist, key = lambda a: a [2])
cetak (Daftar baru)
Keluaran: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]
Cara Menyortir Daftar Menggunakan Metode Sorted ()
Atau, Anda dapat menggunakan diurutkan () metode.
Meskipun cara kerjanya mirip dengan menyortir() metode, itu membuat daftar diurutkan baru tanpa mengubah aslinya. Tata letak sintaksnya juga sedikit berbeda.
Sintaks untuk file diurutkan () metode umumnya terlihat seperti ini:
diurutkan (daftar, kunci = fungsi, mundur = Benar / Salah)
Jadi untuk mengurutkan daftar menggunakan diurutkan () metode, Anda perlu membuat variabel baru untuk daftar yang diurutkan:
Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def getIndex (a):
mengembalikan [2]
newList = diurutkan (Alist, key = getIndex)
cetak (Daftar baru)
Keluaran: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]
Itu diurutkan () Metode juga menerima a lambda berfungsi sebagai kuncinya:
Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = diurutkan (Alist, key = lambda a: a [2])
cetak (Daftar baru)
Keluaran: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]
Di Mana Anda Dapat Menerapkan Penyortiran Daftar?
Pemahaman yang kuat tentang metode sortir Python diperlukan untuk pemrograman yang efisien. Ini memungkinkan Anda mengontrol bagaimana daftar atau larik muncul, dan Anda selalu dapat menerapkannya dalam proyek kehidupan nyata. Misalnya, mengurutkan daftar Python bisa berguna saat mengatur ulang data dari API atau database, jadi lebih masuk akal bagi pengguna akhir.
Bekerja dengan daftar dengan Python? Inilah yang perlu Anda ketahui tentang menggunakan fungsi penambahan Python saat bekerja dengan daftar.
Baca Selanjutnya
- Pemrograman
- Python
- Tutorial Coding
Idowu sangat tertarik dengan teknologi pintar dan produktivitas apa pun. Di waktu luangnya, dia bermain-main dengan coding dan beralih ke papan catur ketika dia bosan, tetapi dia juga suka melepaskan diri dari rutinitas sesekali. Semangatnya untuk menunjukkan kepada orang-orang tentang teknologi modern memotivasinya untuk menulis lebih banyak.
Berlangganan newsletter kami
Bergabunglah dengan buletin kami untuk mendapatkan tip teknologi, ulasan, ebook gratis, dan penawaran eksklusif!
Satu langkah lagi…!
Harap konfirmasi alamat email Anda di email yang baru saja kami kirimkan kepada Anda.