Menu
CoddyTech

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.

challenge icon

Tantangan

Mudah

Tulis program yang melakukan tugas pengurutan berikut menggunakan fungsi sorted():

  1. Urutkan list angka dalam urutan menaik.
  2. Urutkan list angka yang sama dalam urutan menurun.
  3. Urutkan list string berdasarkan urutan abjad.
  4. 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)
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Python online