MulaiMulai sekarang secara gratis

Map() dan fungsi lambda

Sejauh ini, Anda telah menggunakan fungsi lambda untuk menulis fungsi pendek dan sederhana serta untuk mendefinisikan ulang fungsi dengan fungsionalitas sederhana. Namun, kasus penggunaan terbaik untuk fungsi lambda adalah ketika Anda ingin fungsionalitas sederhana tersebut disisipkan secara anonim di dalam ekspresi yang lebih besar. Artinya, fungsionalitas tersebut tidak disimpan di lingkungan, berbeda dengan fungsi yang didefinisikan menggunakan def. Untuk memahami gagasan ini lebih baik, Anda akan menggunakan fungsi lambda dalam konteks fungsi map().

Ingat dari video bahwa map() menerapkan sebuah fungsi pada suatu objek, seperti list. Di sini, Anda dapat menggunakan fungsi lambda untuk mendefinisikan fungsi yang akan digunakan map() untuk memroses objek. Contohnya:

nums = [2, 4, 6, 8, 10]

result = map(lambda a: a ** 2, nums)

Tampak di sini bahwa sebuah fungsi lambda, yang mempangkatkan nilai a dengan 2, diteruskan ke map() bersama dengan list angka, nums. Objek map yang dihasilkan dari pemanggilan map() disimpan dalam result. Sekarang Anda akan mempraktikkan penggunaan fungsi lambda dengan map(). Pada latihan ini, Anda akan memetakan fungsionalitas dari fungsi add_bangs() yang Anda definisikan pada latihan sebelumnya ke sebuah list string.

Latihan ini adalah bagian dari kursus

Pengantar Fungsi di Python

Lihat Kursus

Petunjuk latihan

  • Dalam pemanggilan map(), teruskan fungsi lambda yang menggabungkan string '!!!' ke sebuah string item; teruskan juga list string, spells. Tetapkan objek map yang dihasilkan ke shout_spells.
  • Konversikan shout_spells menjadi list dan cetak list tersebut.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Create a list of strings: spells
spells = ["protego", "accio", "expecto patronum", "legilimens"]

# Use map() to apply a lambda function over spells: shout_spells
____ = map(____, ____)

# Convert shout_spells to a list: shout_spells_list
____

# Print the result
print(shout_spells_list)
Edit dan Jalankan Kode