54. PYTHON (Pemrograman Fungsional) – Itertools

Belajar Bahasa Python Lengkap

Modul itertools adalah library standar yang mengandung beberapa fungsi yang berguna dalam pemrograman fungsional. Salah satu jenis fungsi yang dihasilkan adalah pengulangan yang tak terbatas.

Fungsi count menghitung ke atas secara tak terbatas dari sebuah nilai. Fungsi cycle mengulang tak terbatas melalui sebuah pengulangan, sebagai contoh sebuah list atau string. Fungsi repeat mengulang sebuah object, baik secara tak terbatas atau sebuah jumlah tertentu.

from itertools import count

for i in count(7):
     print(i)
 
if i >= 17:
     break
=====>
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17 
=====>

Ada banyak fungsi dalam itertools yang beroperasi dalam perulangan, yang mirip dengan map & filter. Sebagai contoh :

  • takewhile : mengambil item dari sebuah perulangan ketika sebuah fungsi bernilai benar.
  • chain : menggabungkan beberapa perulangan menjadi satu yang panjang.
  • accumulate : mengembalikan total nilai yang berjalan pada perulangan.
from itertools import accumulate, takewhile

angka = list(accumulate(range(8)))

print(angka)
print(list(takewhile(lambda x: x <= 6, angka)))
=====>
 [0, 1, 3, 6, 10, 15, 21, 28]
 [0, 1, 3, 6] 
=====>

Ada juga beberapa fungsi kombinatorik dalam itertools, seperti product dan permutation. Fungsi tersebut digunakan ketika kita ingin menyelesaikan sebuah tugas dengan semua kemungkinan kombinasi pada beberapa item.

from itertools import product, permutations

huruf = ("A", "B")

print(list(product(huruf, range(2))))
print(list(permutations(huruf)))
=====>
 [('A', 0), ('A', 1), ('B', 0), ('B', 1)]
 [('A', 'B'), ('B', 'A')] 
=====>


LANJUTKAN BACA MATERI LENGKAP


Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.