Saya yakin semua orang tahu apa arti anonim. Anonim berarti tidak memiliki nama. Terkadang kita tidak perlu memberi nama fungsi saat menulis sebuah program. Saat ini, kita dapat menggunakan fungsi anonim dengan Python.
Mari kita gunakan contoh untuk memperkenalkan penggunaan sederhana fungsi lambda . Variabel m adalah nilai yang kita masukkan. Kita perlu menggunakan fungsi anonim untuk mengembalikan jumlah kuadrat m nilainya adalah 4.
Kodenya adalah sebagai berikut:
m=int(input('Silakan masukkan angka:'))#m adalah nilai input a=lambdax:x*x#Gunakan variabel a untuk membentuk ekspresi print('Nilai yang dikembalikan adalah:',a(m) )
Outputnya adalah:
Silakan masukkan nomor: 6. Nilai yang dikembalikan adalah: 36
Mari kita lihat strukturnya melalui gambar di bawah ini:
Mari kita gunakan fungsi anonim melalui contoh:
m=int(input('Silakan masukkan angka:'))#m adalah nilai input a=lambdax:x+10*10+x*xprint('Nilai yang dikembalikan adalah:',a(m))
Outputnya adalah:
Silakan masukkan nomor: 5. Nilai yang dikembalikan adalah: 130
Dari dua contoh di atas, kita dapat memahami bahwa ekspresi lambda setara dengan mengompresi fungsi menjadi satu baris kode, dan kemudian memanggil fungsi tersebut secara langsung melalui definisi variabel.
Kita juga dapat menggunakan fungsi anonim secara berurutan. Menggunakan fungsi anonim dapat membantu kita memfilter data dengan cepat.
Diketahui suatu daftar adalah [1,4,6,9,12,23,25,28,36,38,41,56,63,77,88,99], kita perlu mengembalikan bilangan genap di dalamnya dan menyimpannya dalam daftar di antara.
Kita dapat menggunakan fungsi filter untuk memfilter.
Kodenya adalah sebagai berikut:
daftar_saya=[1,4,6,9,12,23,25,28,36,38,41,56,63,77,88,99]cetak(daftar(filter(lambdax:x%2==0, daftar_saya)))
Outputnya adalah:
[4,6,12,28,36,38,56,88]
Kami menganalisis ekspresi ini dari dalam ke luar. Objek pertama dalam fungsi filter() adalah metode pemfilteran kami, dan objek terakhir adalah objek yang ingin kami filter. Kemudian kami menyimpan data ini dalam daftar menggunakan fungsi list() ., dan terakhir mencetaknya. Cara ini dapat membantu kita mengintegrasikan data dengan cepat.
Kami juga dapat merumuskan aturan melalui fungsi anonim saat mengurutkan.
Pertama, kita mengetahui bahwa himpunan list adalah [('Tuple A',15,33), ('Tuple B',25,26), ('Tuple C',7,7)]. elemen berisi nama masing-masing tupel dan nilai minimum dan maksimum. Kita perlu mengurutkan daftar berdasarkan perbedaan antara nilai maksimum dan minimum tupel setiap orang.
my_list=[('Tuple A',15,33),('Tuple B',25,26),('Tuple C',7,7)]my_list.sort(key=lambdax:x[2 ]-x [1])#Gunakan kata kunci key untuk memperkenalkan metode pengurutan. Metode pengurutan didasarkan pada perbedaan antara elemen ketiga dan elemen kedua.
Struktur keluarannya adalah:
[('Tupel C',7,7),('Tupel B',25,26),('Tupel A',15,33)]
Kita bisa melakukan perhitungan sederhana terlebih dahulu. Selisihnya masing-masing adalah 18, 1, dan 0, jadi urutannya harus C, B, dan A. Hasil pengembalian x[2]-x[1] dalam ekspresi lambda, kita peroleh perbedaannya, lalu urutkan berdasarkan perbedaannya.
Fungsi anonim sangat penting saat memfilter data. Fungsi ini dapat dengan cepat membantu kita memecahkan masalah data yang kompleks dan rumit. Pada saat yang sama, fungsi tersebut dapat mengoptimalkan kode kita dan membuat keseluruhan kode menjadi lebih ringkas Pada bagian ini, kita akan mempelajari tiga fungsi dasar dalam fungsi.