Lewati ke konten utama

Cara Mengurutkan Dictionary berdasarkan Nilai di Python

Pelajari metode efisien untuk mengurutkan dictionary berdasarkan nilai di Python. Temukan pengurutan naik dan turun serta tips bonus untuk pengurutan berdasarkan key.
Diperbarui 28 Sep 2026  · 5 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Pengurutan adalah operasi mendasar dalam manipulasi data, dan dictionary di Python tidak terkecuali. Baik saat kita mengerjakan proyek analisis data yang kompleks maupun skrip sederhana, memahami cara mengurutkan dictionary berdasarkan nilai secara efisien dapat sangat berguna.

Dalam artikel ini, kami menguraikan berbagai metode untuk mengurutkan dictionary berdasarkan nilainya di Python, sehingga kita memiliki alat untuk menata data sesuai kebutuhan.

Jawaban Singkat: Cara Mengurutkan Dictionary berdasarkan Nilai di Python

Untuk cepat mengurutkan dictionary berdasarkan nilai, kita dapat menggunakan fungsi bawaan Python .sorted() bersama dengan fungsi lambda. Metode ini sederhana dan efisien untuk sebagian besar kasus penggunaan.

student_scores = {
    'Alex': 88,
    'Ben': 75,
    'Cyrus': 93,
    'Denver': 85
}
sorted_by_values = dict(sorted(student_scores.items(), key=lambda item: item[1]))

print(sorted_by_values)

# Expected output:
# {'Ben': 75, 'Denver': 85, 'Alex': 88, 'Cyrus': 93}

Sekarang, mari kita mundur selangkah dan memahami dictionary di Python serta alasan kita mungkin perlu mengurutkannya.

Apa itu Dictionary di Python?

Python dictionaries adalah jenis struktur data yang menyimpan data dalam pasangan key-value. Struktur ini sangat serbaguna dan memungkinkan pencarian, penyisipan, dan penghapusan yang cepat. Berikut contoh sederhana:

student_scores = {
    'Alex': 88,
    'Ben': 75,
    'Cyrus': 93,
    'Denver': 85
}

# No expected output

Pada dictionary di atas, nama siswa adalah key, dan nilainya adalah value. 

Dictionary berguna dalam banyak skenario, misalnya saat kita perlu menyimpan dan mengambil data secara efisien. Namun, ada kalanya mengurutkan data ini berdasarkan nilai, bukan berdasarkan key, menjadi perlu—misalnya, saat kita ingin memberi peringkat siswa berdasarkan nilai mereka.

Cara Mengurutkan Dictionary berdasarkan Nilai di Python

Sekarang, mari kita lihat lebih dekat fungsi .sorted() di Python dan cara menggunakannya secara khusus untuk mengurutkan dictionary berdasarkan nilai.

Cara mengurutkan dictionary berdasarkan nilai menggunakan .sorted()

Fungsi .sorted() adalah alat yang kuat dan fleksibel untuk pengurutan di Python. Untuk mengurutkan dictionary berdasarkan nilainya, kita dapat menggunakan fungsi lambda untuk menentukan bahwa pengurutan harus didasarkan pada nilai dictionary.

student_scores = {
    'Alex': 88,
    'Ben': 75,
    'Cyrus': 93,
    'Denver': 85
}
sorted_by_values = dict(sorted(student_scores.items(), key=lambda item: item[1]))

print(sorted_by_values)

# Expected output: 
# {'Ben': 75, 'Denver': 85, 'Alex': 88, 'Cyrus': 93}

Pada contoh ini, student_scores.items() mengembalikan objek tampilan yang menampilkan daftar pasangan tuple key-value dari dictionary. Fungsi .sorted() mengurutkan pasangan ini berdasarkan nilainya (item[1]), dan dict() mengonversi daftar yang telah diurutkan kembali menjadi dictionary.

Cara mengurutkan dictionary berdasarkan nilai secara menurun atau menaik

Secara bawaan, fungsi .sorted() mengurutkan secara menaik. Namun, bergantung pada situasi, kita dapat dengan mudah memodifikasinya untuk mengurutkan secara menurun atau menaik dengan mengatur parameter reverse ke True atau False.

Cara mengurutkan dictionary secara menaik

Seperti disebutkan, dictionary akan diurutkan secara menaik secara bawaan saat menggunakan fungsi .sorted(). Kita juga dapat memperoleh urutan menaik dengan mengatur parameter reverse ke False.

sorted_by_values_asc = dict(sorted(student_scores.items(), key=lambda item: item[1], reverse=False))
print(sorted_by_values_asc)

# Expected output:
# {'Ben': 75, 'Denver': 85, 'Alex': 88, 'Cyrus': 93}

Cara mengurutkan dictionary secara menurun

Jika kita ingin mengurutkan secara menaik, kita dapat mengatur parameter reverse ke True.

sorted_by_values_desc = dict(sorted(student_scores.items(), key=lambda item: item[1], reverse=True))
print(sorted_by_values_desc)

# Expected output:
# {'Cyrus': 93, 'Alex': 88, 'Denver': 85, 'Ben': 75}

Bonus: Cara Mengurutkan Dictionary berdasarkan Key di Python

Meskipun artikel ini berfokus pada pengurutan berdasarkan nilai, ada baiknya juga mengetahui cara mengurutkan dictionary berdasarkan key. Ini dapat dilakukan dengan cara serupa menggunakan fungsi .sorted().

sorted_by_keys = dict(sorted(student_scores.items()))
print(sorted_by_keys)

# Expected output:
# {'Alex': 88, 'Ben': 75, 'Cyrus': 93, 'Denver': 85}

Untuk urutan menurun, cukup atur reverse=True:

sorted_by_keys_desc = dict(sorted(student_scores.items(), reverse=True))
print(sorted_by_keys_desc)

# Expected output:
# {'Denver': 85', 'Cyrus': 93, 'Ben': 75, 'Alex': 88}

Kesimpulan

Mengurutkan dictionary berdasarkan nilainya di Python adalah tugas umum yang dapat diselesaikan dengan mudah menggunakan fungsi .sorted(). Baik kita memerlukan data dalam urutan menaik maupun menurun, memahami teknik-teknik ini akan membuat tugas manipulasi data kita lebih lugas dan efisien. Dengan menguasai metode pengurutan ini, kita dapat memastikan data selalu tertata sesuai kebutuhan.

FAQs

Q1: Can I sort a dictionary by values if the values are strings instead of numbers?

A1: Ya, kita dapat mengurutkan dictionary berdasarkan nilai, bahkan jika nilainya berupa string. Fungsi .sorted() akan mengurutkan nilai secara alfabetis dalam urutan menaik atau menurun, sama seperti pada angka.

Q2: How can I sort a dictionary by values if it contains nested dictionaries?

A2: Untuk mengurutkan dictionary yang berisi dictionary bertingkat (nested), kita perlu mendefinisikan fungsi pengurutan kustom yang mengekstrak dan membandingkan nilai bertingkat yang relevan. Ini memerlukan fungsi lambda yang lebih kompleks atau fungsi terpisah untuk menangani perbandingan.

Q3: Can I sort a dictionary by values in-place without creating a new dictionary?

A3: Tidak, dictionary di Python pada dasarnya adalah koleksi tak berurutan pada versi sebelum 3.7, dan meskipun mempertahankan urutan penyisipan mulai Python 3.7, tidak ada metode bawaan untuk mengurutkannya secara in-place. Mengurutkan dictionary selalu menghasilkan pembuatan dictionary baru dengan urutan yang diinginkan.

Q4: What is the time complexity of sorting a dictionary by values in Python?

A4: Kompleksitas waktu untuk mengurutkan dictionary berdasarkan nilai menggunakan fungsi .sorted() adalah O(n log n), di mana n adalah jumlah pasangan key-value dalam dictionary. Ini karena .sorted() secara internal menggunakan Timsort, algoritma pengurutan hibrida dengan kompleksitas ini.

Q5: Will sorting a dictionary by values change the original dictionary?

A5: Tidak, mengurutkan dictionary berdasarkan nilai menggunakan fungsi .sorted() membuat dictionary baru. Dictionary asli tidak berubah.


Neetika Khandelwal's photo
Author
Neetika Khandelwal
LinkedIn
Saya adalah seorang pengembang Java dan penulis teknis berpengalaman yang mengkhususkan diri dalam data science, kecerdasan buatan (AI), dan pemrograman Java. Dengan pengalaman lebih dari 3+ tahun di pengembangan perangkat lunak, saya telah mengasah keahlian yang solid dalam membangun aplikasi yang andal dan dapat diskalakan serta memanfaatkan fleksibilitas Java untuk menyelesaikan masalah yang kompleks. Saya bersemangat berbagi pengetahuan dengan komunitas teknologi yang lebih luas. Melalui artikel teknis, tutorial, dan panduan yang komprehensif, saya berupaya mengurai topik-topik data science dan AI yang rumit agar mudah diakses oleh pemula maupun profesional berpengalaman. Saat ini, saya telah menerbitkan lebih dari 125+ blog.
Topik
Python
Analisis Data

Pelajari lebih lanjut tentang Python dengan kursus-kursus ini!

Kursus

Pengantar Python

4 jam
7.1M
Kuasai dasar-dasar analisis data dengan Python dalam 4 jam. Kursus online ini memperkenalkan antarmuka Python dan pustaka populer.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya