Python Fungsi map() dengan CONTOH

⚡ Ringkasan Cerdas

Python Fungsi `map()` menerapkan fungsi yang diberikan ke setiap item dari sebuah iterable seperti list, tuple, set, dictionary, atau string. Fungsi ini mengembalikan objek map yang bersifat lazy (tidak dapat diubah) yang dapat Anda konversi dengan `list()` atau diiterasi menggunakan loop.

  • 🔢 sintaks: Fungsi map() menerima sebuah fungsi ditambah satu atau lebih iterable dan menerapkan fungsi tersebut ke setiap elemen.
  • 🔁 Nilai pengembalian: Fungsi map() mengembalikan objek map yang bersifat lazy, jadi bungkuslah dengan list(), tuple(), atau set() untuk melihat hasilnya.
  • 🧩 Iterables: Daftar, tupel, himpunan, kamus, dan string semuanya dapat digunakan sebagai input untuk map().
  • Lambda: Menggabungkan map() dengan lambda menghindari pendefinisian fungsi bernama terpisah untuk transformasi sederhana.
  • Beberapa iterable: Meneruskan beberapa iterable akan menerapkan fungsi tersebut secara paralel di seluruh iterable, lalu berhenti.ping paling singkat.
  • 🤖 Bantuan AI: Asisten AI seperti GitHub Copilot menghasilkan panggilan map(), dan transformasi bergaya map memberi masukan pada pipeline data dalam pembelajaran mesin.

Python peta() Fungsi

Sintaksis

map(function, iterator1,iterator2 ...iteratorN)

Parameter Teknis

Berikut adalah dua parameter penting:

  • fungsi: Sebuah fungsi wajib yang harus diberikan kepada map(), yang akan diterapkan pada semua item yang tersedia dalam iterator.
  • iterator: Objek iterator wajib. Bisa berupa list, tuple, dan lain sebagainya. Anda dapat meneruskan beberapa objek iterator ke fungsi map().

Nilai pengembalian

Fungsi map() menerapkan fungsi yang diberikan pada semua item di dalam iterator dan mengembalikan objek map yang dapat diiterasi, yaitu, tuple, list, dll.

Bagaimana fungsi peta() bekerja?

Fungsi map() menerima dua input: sebuah fungsi dan sebuah objek iterable. Fungsi yang diberikan kepada map() adalah fungsi biasa, dan fungsi tersebut akan mengulang semua nilai yang ada dalam objek iterable.

Misalnya, Anda memiliki daftar angka, dan Anda ingin mencari kuadrat setiap angka tersebut.

Untuk mendapatkan outputnya, kita memerlukan sebuah fungsi yang akan mengembalikan kuadrat dari angka yang diberikan. Fungsinya adalah sebagai berikut:

def square(n):
	return n*n

Berikut adalah daftar barang-barang yang ingin kita cari kuadratnya:

my_list = [2,3,4,5,6,7,8,9]

Sekarang mari kita gunakan fungsi bawaan map() untuk mendapatkan kuadrat dari setiap item dalam my_list.

Kode terakhirnya adalah sebagai berikut:

def square(n):
    return n*n
my_list = [2,3,4,5,6,7,8,9]
updated_list = map(square, my_list)
print(updated_list)
print(list(updated_list))

Keluaran:

<map object at 0x0000002C59601748>
[4, 9, 16, 25, 36, 49, 64, 81]

Output dari fungsi map(), seperti yang terlihat di atas, adalah objek peta yang ditampilkan di layar sebagai .

Anda perlu mengulangi output dari map() menggunakan perulangan for atau metode list() untuk mendapatkan output akhir. Saya telah menggunakan list() dalam kode untuk menampilkan nilai-nilai di dalam daftar yang diberikan.

Jadi, dengan menggunakan fungsi map(), kita dapat memperoleh kuadrat dari setiap angka. Daftar yang diberikan ke map() adalah [2,3,4,5,6,7,8,9], dan dengan menggunakan fungsi square(), output yang kita dapatkan adalah [4, 9, 16, 25, 36, 49, 64, 81].

Fungsi map() menerapkan fungsi square() pada semua item dalam daftar. Misalnya, fungsi ini mengambil variabel my_list dan memperbarui daftar dengan kuadrat dari setiap angka. Hasilnya disimpan dalam variabel updated_list.

Menggunakan peta() dengan Python fungsi bawaan

The Python fungsi map() adalah fungsi bawaan dan juga dapat digunakan dengan fungsi bawaan lain yang tersedia PythonDalam contoh ini, kita akan menggunakan Python Fungsi bawaan `round()` yang membulatkan nilai yang diberikan.

Contoh:

Daftar yang saya miliki adalah my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]. Saya membutuhkan nilai yang dibulatkan untuk setiap item yang ada dalam daftar, jadi kita akan menggunakan round() sebagai fungsi untuk map().

my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]
updated_list = map(round, my_list)
print(updated_list)
print(list(updated_list))

Keluaran:

<map object at 0x000000E65F901748>
[3, 4, 4, 6, 6, 8, 8, 10]

Fungsi round() diterapkan pada semua item dalam daftar, dan mengembalikan daftar dengan semua nilai yang dibulatkan, seperti yang ditunjukkan pada output.

Menggunakan map() dengan string sebagai iterator

Kita juga bisa menggunakan map() pada sebuah string. Di dalam Python, sebuah string berper behaves seperti array, jadi kita dapat dengan mudah menggunakannya di dalam map().

Dalam contoh ini, kita memiliki fungsi myMapFunc() yang bertugas mengkonversi string yang diberikan menjadi huruf besar. Fungsi myMapFunc() diberikan ke fungsi map(). Fungsi map() akan menangani konversi string yang diberikan menjadi huruf besar dengan meneruskan string tersebut ke myMapFunc().

def myMapFunc(s):
    return s.upper()
my_str = "welcome to guru99 tutorials!"
updated_list = map(myMapFunc, my_str)
print(updated_list)
for i in updated_list:
    print(i, end="")

Keluaran:

<map object at 0x000000DF2E711748>
WELCOME TO GURU99 TUTORIALS!

Menggunakan map() dengan List of Numbers

Untuk bekerja dengan daftar di map(), kita akan mengambil daftar angka dan mengalikan setiap angka dalam daftar tersebut dengan 10.

Daftar yang akan kita gunakan adalah [2,3,4,5,6,7,8,9]. Fungsi myMapFunc() bertugas mengalikan angka yang diberikan dengan 10. Fungsi ini diberikan ke map() bersama dengan daftar tersebut.

Contoh:

def myMapFunc(n):
    return n*10

my_list = [2,3,4,5,6,7,8,9]

updated_list = map(myMapFunc, my_list)
print(updated_list)
print(list(updated_list))

Keluaran:

<map object at 0x000000EE2C061898>
[20, 30, 40, 50, 60, 70, 80, 90]

Hasil yang kita lihat adalah setiap angka dalam daftar dikalikan dengan 10.

Menggunakan peta() dengan Tuple

Tuple adalah objek di dalamnya Python yang memiliki item yang dipisahkan oleh koma dan diapit oleh tanda kurung. Dalam contoh ini, kita akan mengambil tuple dengan nilai string. Fungsi yang akan kita gunakan akan mengubah nilai yang diberikan menjadi huruf besar.

Contoh:

def myMapFunc(n):
    return n.upper()

my_tuple = ('php','java','python','c++','c')

updated_list = map(myMapFunc, my_tuple)
print(updated_list)
print(list(updated_list))

Keluaran:

<map object at 0x0000009C3C3A16A0>
['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

Output yang kita dapatkan adalah tuple yang semua nilainya telah diubah menjadi huruf besar.

Menggunakan peta() dengan Kamus

A kamus di Python dibuat menggunakan kurung kurawal ({}). Karena kamus merupakan iterator, Anda dapat menggunakannya di dalam fungsi map(). Sekarang mari kita gunakan kamus sebagai iterator di dalam map().

Contoh berikut menunjukkan cara kerja iterator kamus di dalam fungsi map():

def myMapFunc(n):
    return n*10
my_dict = {2,3,4,5,6,7,8,9}
finalitems = map(myMapFunc, my_dict)
print(finalitems)
print(list(finalitems))

Keluaran:

<map object at 0x0000007EB451DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]

Menggunakan peta() dengan Set

Satu set di Python adalah koleksi item yang tidak terurut dalam kurung kurawal ({}). Karena set() juga merupakan iterator, Anda dapat menggunakannya di dalam fungsi map().

Berikut contoh penggunaan set sebagai iterator di dalam map():

def myMapFunc(n):
    return n*10
my_set = {2,3,4,5,6,7,8,9}
finalitems = map(myMapFunc, my_set)
print(finalitems)
print(list(finalitems))

Keluaran:

<map object at 0x000000AC8F05DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]

Menggunakan map() dengan fungsi Lambda

In Python, ekspresi lambda digunakan untuk membuat fungsi anonim. Anda harus menggunakan kata kunci lambda sama seperti Anda menggunakan def untuk mendefinisikan fungsi normal.

Jadi dalam contoh ini, kita akan menggunakan fungsi lambda di dalam map(). Fungsi lambda akan mengalikan setiap nilai dalam daftar dengan 10.

Contoh:

my_list = [2,3,4,5,6,7,8,9]
updated_list = map(lambda x: x * 10, my_list)
print(updated_list)
print(list(updated_list))

Keluaran:

<map object at 0x000000BD18B11898>
[20, 30, 40, 50, 60, 70, 80, 90]

Menggunakan Beberapa Iterator di dalam fungsi map()

Contoh 1: Meneruskan dua iterator daftar ke map()

Anda dapat mengirim lebih dari satu iterator, misalnya, sebuah list, sebuah tuple, dan lain sebagainya, sekaligus ke fungsi map().

Sebagai contoh, jika Anda ingin menambahkan dua daftar, hal yang sama dapat dilakukan menggunakan fungsi map(). Kita akan menggunakan dua daftar, my_list1 dan my_list2.

Pada contoh di bawah ini, item pertama dalam my_list1 ditambahkan ke item pertama my_list2. Fungsi myMapFunc() menerima item dari my_list1 dan my_list2 dan mengembalikan jumlah keduanya.

Berikut contoh cara menambahkan dua daftar yang diberikan menggunakan fungsi map().

def myMapFunc(list1, list2):
    return list1+list2

my_list1 = [2,3,4,5,6,7,8,9]
my_list2 = [4,8,12,16,20,24,28]

updated_list = map(myMapFunc, my_list1,my_list2)
print(updated_list)
print(list(updated_list))

Keluaran:

<map object at 0x0000004D5F751860>
[6, 11, 16, 21, 26, 31, 36]

Contoh 2: Meneruskan satu Tuple dan iterator daftar ke map()

Kita akan menggunakan iterator list dan tuple dalam fungsi map(). Fungsi yang diberikan ke map(), myMapFunc(), akan mengambil item dari list dan tuple. Item-item tersebut akan digabungkan dengan garis bawah (_). Contoh yang berfungsi ditunjukkan di bawah ini:

def myMapFunc(list1, tuple1):
    return list1+"_"+tuple1

my_list = ['a','b', 'b', 'd', 'e']
my_tuple = ('PHP','Java','Python','C++','C')

updated_list = map(myMapFunc, my_list,my_tuple)
print(updated_list)
print(list(updated_list))

Keluaran:

<map object at 0x00000059F37BB4E0>
['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

Pertanyaan Umum Demo Slot

Keduanya menerapkan operasi pada setiap item. List comprehension seringkali lebih mudah dibaca dan mengembalikan daftar secara langsung, sedangkan map() mengembalikan objek map yang bersifat lazy dan dapat lebih cepat jika menggunakan kembali fungsi bernama yang sudah ada.

Tidak. Fungsi map() tidak pernah mengubah iterable asli. Fungsi ini membaca setiap elemen, menerapkan fungsi Anda, dan menghasilkan objek map baru yang bersifat lazy, sehingga list, tuple, atau string sumber tetap tidak berubah.

In Python 3. Fungsi `map()` bersifat malas (lazy): fungsi ini mengembalikan objek `map` yang menghitung nilai hanya saat diiterasi. Ini menghemat memori pada data yang besar. Bungkus dengan `list()` atau lakukan perulangan untuk mendapatkan hasilnya.

Fungsi map() mengubah setiap item, filter() hanya mempertahankan item yang lolos uji, dan reduce() (dari functools) menggabungkan semua item menjadi satu nilai. Bersama-sama, fungsi-fungsi ini mencakup operasi transformasi, seleksi, dan agregasi.

Ketika iterable berbeda panjangnya, map() berhenti pada iterable terpendek. Item tambahan dalam iterable yang lebih panjang diabaikan, sehingga tidak ada kesalahan yang muncul dan hasilnya sesuai dengan iterable terpendek.

Tidak. Objek map adalah iterator yang akan habis setelah satu kali iterasi. Setelah Anda mengulanginya atau memanggil list() padanya, objek tersebut akan kosong. Ubah terlebih dahulu menjadi list jika Anda perlu menggunakannya kembali.

Dalam pembelajaran mesin, fungsi map() menerapkan fungsi pra-pemrosesan di seluruh dataset, seperti penskalaan angka, tokenisasi teks, atau transformasi fitur sebelum pelatihan. Ini memberikan cara yang bersih dan fungsional untuk menjalankan operasi yang sama pada banyak sampel.

Ya. GitHub Copilot melengkapi otomatis panggilan map() dengan fungsi dan iterable yang tepat, dan alat AI berbasis agen dapat memfaktorkan ulang loop menjadi ekspresi map(), lalu menjalankan pengujian Anda untuk memastikan perilakunya tidak berubah.

Ringkaslah postingan ini dengan: