Belajar Python Dasar. Pembahasan List Comprehension

 

Kita sudah belajar tentang list di postingan sebelumnya, tapi sebenarnya kita bisa membuat sebuah list sesuai dengan keinginan kita dengan mudah. Misal kita ingin list yang berisi angka angka genap, kita bisa mencarinya dengan mudah hanya dengan satu baris. Untuk melakukannya kita wajih mengetahui sebuah konsep bernama list comprehension


Baca Juga: Belajar Python Dasar. Pembahasan Struktur Data List, Tuples, Counters, Dictionaries, Sets


Apa Itu List Comprehension?

List Comprehension adalah sebuah kemampuan untuk bisa mempersingkat sebuah list berdasarkan list lain.

Misal saya mempunyai list berikut
 
angka = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
 
saya hanya ingin mengambil angka angka ganjil di dalamnya maka saya bisa melakukan kode berikut
 
odd_numbers = [x for x in angka if x % 2 == 1]
 
  • x pertama merupakan variabel yang bisa kita operasikan jika ingin mengubahnya menjadi hasil yang baru
  • x kedua merupakan variabel yang merepresentasikan setiap angka yang ada di dalam list
  • if x % 2  === 1 adalah sebuah perkondisian yang kita inginkan.

Bentuk Lain: Dict dan Set

Selain list, kita juga bisa men-transform struktur data menjadi dict atau set. Caranya adalah dengan yang awalnya menggunakan kurung siku jadi menggunakan kurung kurawal seperti ini

Untuk kasus ini saya menggunakan contoh dimana saya harus mencari angka kuadrat dari 1 sampai 10

square_dict = {x:x*x for x in range(10)}

Output: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

 

Kita juga bisa menggunakan set dimana struktur data ini menghindari data data duplikasi sehingga dianggap tidak ada

square_set = {x * x for x in [1, -1, 2, -2]}

Output:  {1, 4}


Baca Juga: Belajar Python Dasar. Pembahasan Sorting



Underscore

Kita bisa menggunakan underscore jika kita ingin menggunakan angka tertentu secara konstan. Misal

zeros = [0 for _ in range(10)]
 
Output: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 
Kita bisa mengganti 0 dengan angka, atau tipe data apapun yang kita inginkan

Pairs

Selain dict dan set, kita juga bisa membuat pairs sebagai isi dari list kita.
 
pairs = [(x, y) for x in range(10) for y in range(10)]
 
output: [(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), (0, 7), (0, 8), (0, 9), (1, 0), (1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (1, 8), (1, 9), (2, 0), (2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (2, 6), (2, 7), (2, 8), (2, 9), (3, 0), (3, 1), (3, 2), (3, 3), (3, 4), (3, 5), (3, 6), (3, 7), (3, 8), (3, 9), (4, 0), (4, 1), (4, 2), (4, 3), (4, 4), (4, 5), (4, 6), (4, 7), (4, 8), (4, 9), (5, 0), (5, 1), (5, 2), (5, 3), (5, 4), (5, 5), (5, 6), (5, 7), (5, 8), (5, 9), (6, 0), (6, 1), (6, 2), (6, 3), (6, 4), (6, 5), (6, 6), (6, 7), (6, 8), (6, 9), (7, 0), (7, 1), (7, 2), (7, 3), (7, 4), (7, 5), (7, 6), (7, 7), (7, 8), (7, 9), (8, 0), (8, 1), (8, 2), (8, 3), (8, 4), (8, 5), (8, 6), (8, 7), (8, 8), (8, 9), (9, 0), (9, 1), (9, 2), (9, 3), (9, 4), (9, 5), (9, 6), (9, 7), (9, 8), (9, 9)]
 
 

 

Post a Comment (0)
Previous Post Next Post