Cara Mengurutkan Daftar dan Kamus dalam Python
Pengurutan merupakan operasi dasar dalam pemrograman, yang memungkinkan Anda mengatur data dalam urutan yang diinginkan. Python menyediakan alat yang tangguh untuk mengurutkan daftar dan kamus, sehingga memudahkan manipulasi data secara efisien. Dalam artikel ini, kita akan membahas cara mengurutkan daftar dan kamus dalam Python, termasuk berbagai metode dan contoh.
Menyortir Daftar
Daftar adalah salah satu struktur data yang paling umum digunakan dalam Python. Anda dapat mengurutkan daftar menggunakan metode sort()
bawaan atau fungsi sorted()
. Berikut cara kerja masing-masing metode:
Menggunakan sort()
Metode sort()
mengurutkan daftar di tempat, artinya metode ini mengubah daftar asli dan tidak mengembalikan daftar baru. Secara default, metode ini mengurutkan dalam urutan menaik.
# Example: Sorting a list in ascending order
numbers = [4, 2, 9, 1, 5]
numbers.sort()
print(numbers) # Output: [1, 2, 4, 5, 9]
# Example: Sorting a list in descending order
numbers = [4, 2, 9, 1, 5]
numbers.sort(reverse=True)
print(numbers) # Output: [9, 5, 4, 2, 1]
Dalam contoh di atas, metode sort()
mengurutkan daftar numbers
terlebih dahulu dalam urutan menaik dan kemudian dalam urutan menurun menggunakan parameter reverse=True
.
Menggunakan sorted()
Fungsi sorted()
mengembalikan daftar baru yang diurutkan dan tidak mengubah daftar asli. Fungsi ini juga memungkinkan Anda menentukan urutan penyortiran dengan parameter reverse
.
# Example: Using sorted() to get a new sorted list
numbers = [4, 2, 9, 1, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers) # Output: [1, 2, 4, 5, 9]
print(numbers) # Output: [4, 2, 9, 1, 5] (original list is unchanged)
# Example: Using sorted() to get a new sorted list in descending order
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_desc) # Output: [9, 5, 4, 2, 1]
Di sini, sorted()
mengembalikan daftar baru sorted_numbers
tanpa mengubah daftar numbers
asli. Anda juga dapat mengurutkan dalam urutan menurun dengan parameter reverse=True
.
Menyortir Kamus
Pengurutan kamus melibatkan pengurutan kamus berdasarkan kunci atau nilai. Tidak seperti daftar, kamus pada dasarnya tidak diurutkan hingga Python 3.7, di mana kamus mulai mempertahankan urutan penyisipan. Berikut cara mengurutkan kamus:
Menyortir Berdasarkan Kunci
Untuk mengurutkan kamus berdasarkan kuncinya, gunakan fungsi sorted()
bersama dengan pemahaman atau perulangan kamus.
# Example: Sorting a dictionary by keys
data = {'banana': 3, 'apple': 4, 'orange': 2}
sorted_by_keys = {key: data[key] for key in sorted(data)}
print(sorted_by_keys) # Output: {'apple': 4, 'banana': 3, 'orange': 2}
Dalam contoh ini, kamus data
diurutkan berdasarkan kunci-kuncinya, sehingga menghasilkan kamus baru sorted_by_keys
yang kunci-kuncinya disusun dalam urutan menaik.
Mengurutkan Berdasarkan Nilai
Untuk mengurutkan kamus berdasarkan nilainya, Anda dapat menggunakan fungsi sorted()
pada item kamus lalu membuat kamus baru.
# Example: Sorting a dictionary by values
data = {'banana': 3, 'apple': 4, 'orange': 2}
sorted_by_values = dict(sorted(data.items(), key=lambda item: item[1]))
print(sorted_by_values) # Output: {'orange': 2, 'banana': 3, 'apple': 4}
Di sini, data.items()
mengembalikan daftar tuple, dan sorted()
digunakan untuk mengurutkan tuple ini berdasarkan elemen kedua (nilai) menggunakan fungsi lambda. Hasilnya adalah kamus baru sorted_by_values
dengan nilai dalam urutan menaik.
Kesimpulan
Mengurutkan daftar dan kamus dalam Python mudah dan canggih, berkat metode sort()
dan fungsi sorted()
untuk daftar, dan berbagai teknik untuk kamus. Memahami metode ini akan membantu Anda mengelola dan menganalisis data dengan lebih efektif. Bereksperimenlah dengan teknik pengurutan ini untuk melihat bagaimana teknik ini dapat diterapkan pada proyek Anda sendiri!