Python List Comprehension
List Comprehension
List Comprehension menawarkan sintaks yang lebih pendek saat kalian ingin membuat list baru berdasarkan nilai dari list yang ada.
Contoh:
Berdasarkan daftar buah-buahan, kalian menginginkan list baru, yang hanya berisi buah-buahan dengan huruf "a" di namanya.
Tanpa list comprehension kalian harus menulis pernyataanfor
dengan tes bersyarat di dalamnya:
Contoh
newlist = []
for x in fruits:
if "a" in x:
newlist.append(x)
print (newlist)
Dengan list comprehension, kalian dapat melakukan semua itu hanya dengan satu baris kode:
Contoh
newlist = [x for x in fruits if "a" in x]
print (newlist)
The Syntax
Nilai yang dikembalikan adalah list baru, membiarkan list lama tidak berubah.
Condition
Condition itu seperti filter yang hanya menerima item yang bernilaiTrue
.
Kondisi
if
x !=
"apple"
akan mengembalikanTrue
untuk semua elemen kecuali "apple", membuat list baru yang berisi semua buah-buahan kecuali "apple".
Condition itu opsional dan dapat dihilangkan:
Iterable
Iterable dapat berupa objek iterable apa saja, seperti list, tuple, set, dll.
Contoh
Kalian bisa menggunakan fungsirange()
untuk membuat sebuah perulangan:
Contoh yang sama, namun dengan kondisi:
Contoh
Terima hanya angka yang lebih rendah dari 5:
Expression
Ekspresi adalah item saat ini dalam iterasi, tetapi juga merupakan hasil, yang dapat kalian manipulasi sebelum berakhir seperti item list di list baru:
Contoh
Tetapkan nilai dari newlist menjadi huruf kapital:
Kalian dapat mengatur hasilnya sesuai keinginan kalian:
Contoh
Tetapkan semua nilai dalam newlist menjadi 'hello':
Ekspresi juga dapat berisi kondisi, tidak seperti filter, tetapi sebagai cara untuk memanipulasi hasil:
Contoh
Mengembalikan "orange" bukan "banana":
Ekspresi dalam contoh di atas mengatakan:
"Mengembalikan item jika bukan banana, jika banana maka akan mengembalikan orange".