Comprehension

1. List Comprehension

List comprehension adalah cara singkat dan efisien untuk membuat daftar baru berdasarkan iterasi dan kondisi dari daftar atau urutan yang sudah ada.

Contoh 1: Membuat daftar angka dari 1 hingga 6

# Cara biasa menggunakan append
no_list = []
no_list.append(1)
no_list.append(2)
no_list.append(3)
no_list.append(4)
no_list.append(5)
no_list.append(6)
print(no_list)  # Output: [1, 2, 3, 4, 5, 6]

# Cara langsung
no_list = [1, 2, 3, 4, 5, 6]
print(no_list)  # Output: [1, 2, 3, 4, 5, 6]

# Menggunakan list comprehension
no_list = [i for i in range(1, 7)]
print(no_list)  # Output: [1, 2, 3, 4, 5, 6]

# Menggunakan perulangan for
no_list = []
for i in range(1, 7):
    no_list.append(i)
print(no_list)  # Output: [1, 2, 3, 4, 5, 6]

Contoh 2: Mengambil elemen genap dari sebuah list

angka_genap = [x for x in [1, 2, 3, 4, 5, 6] if x % 2 == 0]
print(angka_genap)  # Output: [2, 4, 6]

Contoh 3: Mengubah daftar string menjadi huruf kapital

kata = ["python", "is", "awesome"]
kapital = [x.upper() for x in kata]
print(kapital)  # Output: ['PYTHON', 'IS', 'AWESOME']

Contoh 4: Kombinasi for dan if

ganjil_dikali_2 = [x * 2 for x in range(1, 11) if x % 2 != 0]
print(ganjil_dikali_2)  # Output: [2, 6, 10, 14, 18]

2. Set Comprehension

Set comprehension bekerja mirip dengan list comprehension tetapi menghasilkan set (himpunan unik).

Contoh: Set kuadrat dari angka 1 hingga 5

kuadrat_set = {x ** 2 for x in range(1, 6)}
print(kuadrat_set)  # Output: {1, 4, 9, 16, 25}

3. Dictionary Comprehension

Dictionary comprehension digunakan untuk membuat dictionary baru dengan key-value pair berdasarkan iterasi dan kondisi tertentu.

Contoh: Dictionary angka dan kuadratnya

kuadrat_dict = {x: x ** 2 for x in range(1, 6)}
print(kuadrat_dict)  # Output: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

Kesimpulan

  • List Comprehension menghasilkan list baru dengan ekspresi dan kondisi tertentu.

  • Set Comprehension menghasilkan set baru dengan elemen unik.

  • Dictionary Comprehension membuat dictionary berdasarkan iterasi tertentu.

Last updated