0Pricing
Coding Interview Prep · Pelajaran

Mengurutkan Berdasarkan Banyak Field

Menggunakan key tuple dan reverse sebagai pemecah seri

Mengurutkan Berdasarkan Banyak Field adalah pelajaran Coding Interview Prep gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Coding Interview Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Coding Interview Prep mencakup 4 pelajaran total.

Saat Satu key Tidak Cukup

Terkadang item memiliki nilai yang sama pada atribut pertama sehingga Anda harus memecahkan seri tersebut. Solusinya adalah tuple key yang mencantumkan atribut berdasarkan urutan prioritas.

Tuple Dibandingkan dari Kiri ke Kanan

Python membandingkan tuple elemen demi elemen: Python memeriksa item pertama dan hanya melihat item kedua jika item pertama seri.

print((1, 9) < (1, 2))   # False
print((1, 2) < (2, 0))   # True

Tuple key untuk Dua Atribut

Kembalikan sebuah tuple dari key Anda untuk mengurutkan berdasarkan atribut pertama, lalu atribut kedua. Cara ini mengurutkan orang berdasarkan usia, lalu nama.

people.sort(key=lambda p: (p.age, p.name))

Urutan Utama dan Sekunder

Atribut paling kiri adalah pengurutan utama, sedangkan atribut berikutnya menjadi pemecah seri. Susun ulang tuple untuk mengubah atribut yang menjadi penentu.

data = [(2, "b"), (1, "z"), (1, "a")]
print(sorted(data))
# [(1, 'a'), (1, 'z'), (2, 'b')]

Gabungkan Urutan Menaik dan Menurun

Untuk mengurutkan satu atribut secara menaik dan atribut lain secara menurun, negasikan atribut numerik yang ingin Anda urutkan secara menurun di dalam tuple key.

items.sort(key=lambda x: (x.group, -x.score))

Trik Negasi Membutuhkan Bilangan

Trik tanda minus hanya bekerja pada bilangan. Untuk membalik atribut teks, Anda harus menumpuk pengurutan alih-alih melakukan negasi.

Pengurutan Stabil Memungkinkan Penumpukan

Karena pengurutan bersifat stabil, Anda dapat mengurutkan berdasarkan key minor terlebih dahulu, lalu berdasarkan key mayor, dan elemen yang seri tetap berada dalam urutan yang benar.

rows.sort(key=lambda r: r.name)
rows.sort(key=lambda r: r.age, reverse=True)

Penumpukan vs Satu Tuple

Satu tuple key lebih cepat dan lebih jelas untuk kasus sederhana. Pengurutan bertingkat unggul ketika satu atribut berupa teks harus menaik, sementara atribut lain harus menurun.

itemgetter untuk Kecepatan

Untuk tuple berbasis indeks, itemgetter adalah key yang rapi dan cepat. Fungsi ini mengambil beberapa atribut sekaligus berdasarkan urutan prioritas.

from operator import itemgetter
rows.sort(key=itemgetter(1, 0))

Pemecah Seri Membuat Keluaran Deterministik

Menambahkan pemecah seri unik terakhir seperti id membuat keluaran stabil di berbagai eksekusi, sesuatu yang dihargai penguji dengan pemeriksaan ketat.

Rencanakan key Sebelum Menulis Kode

Baca soalnya dan tuliskan atribut pengurutan berdasarkan urutan. Tuple key yang jelas mengubah perbandingan rumit menjadi satu baris pendek.

Pemeriksaan Cepat

Anda ingin mengurutkan siswa berdasarkan nilai secara menaik, lalu berdasarkan nama secara menaik.

Ringkasan

Anda dapat memecahkan seri dengan tuple key, menegasikan bilangan untuk urutan menurun, dan menumpuk pengurutan stabil untuk arah campuran. Pemecah seri menjaga keluaran tetap rapi. ✅

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mengurutkan Berdasarkan Banyak Field” gratis?

Ya — teks lengkap “Mengurutkan Berdasarkan Banyak Field” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Coding Interview Prep, upgrade ke CoddyKit PRO. Kursus Coding Interview Prep mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Mengurutkan Berdasarkan Banyak Field”?

Menggunakan key tuple dan reverse sebagai pemecah seri Kamu berlatih Coding Interview Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Coding Interview Prep?

Tidak diperlukan pengalaman sebelumnya. Coding Interview Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Mengurutkan Berdasarkan Banyak Field” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Coding Interview Prep ini?

Ya. Setiap pelajaran Coding Interview Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. sorted() dan Fungsi key
  2. Mengurutkan Berdasarkan Banyak Field
  3. Urutan Kustom dengan functools.cmp_to_key
  4. Mengapa Mengurutkan Dahulu Membuka Solusi
← Kembali ke Coding Interview Prep