Mengurutkan Data dengan Efisien
Termasuk bagian Logika dan Alur dalam perjalanan Python di Coddy. Pelajaran 48 dari 78.
Pengurutan adalah operasi mendasar dalam ilmu komputer, dan Python menyediakan alat bawaan yang andal untuk mengurutkan data secara efisien. Fungsi utama untuk mengurutkan adalah sorted(), yang dapat digunakan untuk mengurutkan berbagai jenis data, termasuk angka, string, dan object yang lebih kompleks.
Pengurutan Dasar:
Fungsi sorted() menerima iterable (misalnya, list, tuple, atau set) sebagai argumennya dan mengembalikan list baru yang berisi elemen-elemen yang telah diurutkan. Secara default, fungsi ini mengurutkan secara menaik.
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
# output: [1, 1, 2, 3, 4, 5, 6, 9]Dalam contoh ini, sorted() mengurutkan list numbers secara menaik.
Mengurutkan secara terbalik:
Untuk mengurutkan secara menurun, kamu bisa menggunakan parameter reverse dan menetapkannya ke True.
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_desc)
# output: [9, 6, 5, 4, 3, 2, 1, 1]Di sini, sorted() mengurutkan list numbers dalam urutan menurun.
Mengurutkan string:
Fungsi sorted() juga dapat mengurutkan string berdasarkan urutan leksikografis (yaitu, urutan kemunculannya dalam kamus).
words = ["apple", "banana", "cherry"]
sorted_words = sorted(words)
print(sorted_words)
# output: ['apple', 'banana', 'cherry']Dalam contoh ini, sorted() mengurutkan list words berdasarkan abjad.
Pengurutan Kustom dengan Fungsi Key:
Untuk kebutuhan pengurutan yang lebih kompleks, kamu bisa menggunakan parameter key untuk menentukan fungsi yang mengatur urutan pengurutan. Fungsi key diterapkan pada setiap elemen sebelum pengurutan, dan nilai yang dikembalikan digunakan untuk perbandingan.
words = ["banana", "kiwi", "fig"]
sorted_words_by_length = sorted(words, key=len)
print(sorted_words_by_length)
# output: ['fig', 'kiwi', 'banana']Dalam kasus ini, sorted() mengurutkan list words berdasarkan panjang setiap kata, dengan menggunakan fungsi len() sebagai key.
Tantangan
MudahTulis program yang melakukan tugas pengurutan berikut menggunakan fungsi sorted():
- Urutkan list angka dalam urutan menaik.
- Urutkan list angka yang sama dalam urutan menurun.
- Urutkan list string berdasarkan urutan abjad.
- Urutkan list string yang sama berdasarkan panjangnya.
Coba sendiri
# Input awal
numbers = [5, 3, 8, 1, 2]
words = ["elephant", "cat", "dolphin", "bee"]
# Tugas 1: Urutkan angka dari kecil ke besar
# Tugas 2: Urutkan angka dari besar ke kecil
# Tugas 3: Urutkan kata berdasarkan abjad
# Tugas 4: Urutkan kata berdasarkan panjangnya
# Ganti 'None' dengan kodemu untuk setiap tugas
ascending_numbers = None
descending_numbers = None
alphabetical_words = None
length_sorted_words = None
# Cetak hasilnya
print("Ascending:", ascending_numbers)
print("Descending:", descending_numbers)
print("Alphabetical:", alphabetical_words)
print("By Length:", length_sorted_words)Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Eksplorasi Variabel
KonstantaPenugasan Beberapa VariabelMenukar VariabelVariabel PenampungPembulatan AngkaKonversi ke list4Aplikasi Buku Kontak
Tampilkan MenuTambahkan Kontak7Set Bagian 2
Operasi Matematika Bagian 1Operasi Matematika Bagian 2Ulasan: Berburu Harta KarunSubset dan SupersetMelakukan Perulangan pada SetUlasan: Pelacak Turnamen10Dasar list comprehension
SintaksnyaMembuat list sederhanaMenambahkan kondisiMenggunakan agregasi dataRangkuman: Rumah ListRangkuman: Elemen Kebebasan13Sistem Manajemen Inventaris
Ikhtisar ProyekTambahkan Barang2dictionary Bagian 1
Apa Itu dictionary?Membuat dictionaryMengakses NilaiMengubah dictionaryRangkuman: Pengelola Resep5Pengambilan Keputusan Lanjutan
Operator TernaryPemeriksaan KeanggotaanPemeriksaan IdentitasError IndentasiRangkuman: Filter Liburan8Pengelola Data Siswa
Gambaran Umum ProyekTambah Siswa3dictionary Bagian 2
Method pada dictionarydictionary BersarangMemeriksa keyMenelusuri dictionary dengan perulanganRingkasan: Penghitung Frekuensi9Agregasi Data Lanjutan
Menggunakan SumMenemukan Nilai Minimum dan MaksimumMengurutkan Data dengan EfisienRangkuman: Pengurut dictionaryLatihan sendiri: Compiler Python online