Di Python, Anda dapat menggunakan _2 untuk menerapkan fungsi bawaan, ekspresi lambda ( 3), fungsi yang didefinisikan dengan 4, dll. , ke semua item iterables seperti list dan tuple Show
Artikel ini menjelaskan konten berikut
Perhatikan bahwa _2 dapat diganti dengan pemahaman daftar atau ekspresi generator. Seperti yang dijelaskan nanti, lebih baik menggunakannya dalam banyak kasus
Tautan Bersponsor Penggunaan dasar for i in map(abs, l): print(i) # 2 # 1 # 0 2Argumen pertama dari _2 adalah objek yang dapat dipanggil seperti fungsi yang akan diterapkan, dan argumen kedua adalah objek yang dapat diulang seperti daftarfor i in map(abs, l): print(i) # 2 # 1 # 0 2 mengembalikan iterator di Python3Terapkan fungsi bawaan _3 yang mengembalikan nilai absolutDalam Python 3, 2 mengembalikan objek bertipe 5 yang merupakan iterator, dan 6 tidak menampilkan item
sumber. Nilai iterator dapat diambil dengan pernyataan 7
sumber. Hasil yang sama diperoleh jika proses dijalankan dalam blok 7 tanpa menggunakan 2
sumber. Perhatikan bahwa 2 di Python 2 mengembalikan daftar, jadi berhati-hatilah saat menjalankan kode Python 2 di Python 3Konversikan ke daftarJika Anda ingin mengonversi hasil 2 menjadi daftar, gunakan 2
sumber. Misalnya, terapkan _3 ke daftar string untuk mengubahnya menjadi daftar jumlah karakter
sumber. Dalam argumen kedua 2, tidak hanya daftar tetapi juga iterable seperti tuple atau 5 dapat ditentukan
sumber. Terapkan ekspresi lambda (for i in map(abs, l): print(i) # 2 # 1 # 0 _3)Jika Anda ingin menerapkan proses apa pun alih-alih fungsi bawaan, gunakan ekspresi lambda ( 3)
sumber. Terapkan fungsi yang ditentukan dengan for i in map(abs, l): print(i) # 2 # 1 # 0 4Dimungkinkan juga untuk mendefinisikan fungsi dengan 4 dan menentukannya sebagai argumen pertama dari 2
sumber. Tautan Bersponsor Tentukan beberapa iterables sebagai argumenAnda dapat menentukan lebih banyak iterables seperti 1Jika beberapa iterable ditentukan, argumen pertama harus berupa fungsi yang menerima jumlah argumen tersebut. Kesalahan dimunculkan jika jumlah iterables tidak cocok dengan jumlah argumen yang diterima fungsi
sumber. Jika iterables memiliki ukuran yang berbeda (jumlah item), item tambahan akan diabaikan
sumber. Gunakan pemahaman daftar dan ekspresi generator sebagai gantinyaProses yang sama seperti _2 dapat dicapai dengan pemahaman daftar dan ekspresi generator 0sumber. Jika Anda ingin mendapatkan daftar seperti _3, gunakan pemahaman daftar, dan jika Anda ingin mendapatkan iterator seperti 2, gunakan ekspresi generator
Seperti yang ditunjukkan dalam pertanyaan Stack Overflow berikut, dalam banyak kasus, menggunakan pemahaman daftar dan ekspresi generator lebih disukai daripada 2 karena kodenya lebih ringkas dan jelas
Untuk kecepatan pemrosesan, jawaban berikut diberikan
Perhatikan bahwa, karena kecepatan pemrosesan dapat bervariasi karena berbagai faktor, jika kecepatan penting bagi Anda, disarankan untuk mengukurnya dalam kondisi yang sedekat mungkin dengan asumsi Anda
Gunakan NumPy sebagai gantinyaDalam hal daftar angka, proses 2 juga dapat direalisasikan dengan NumPy. Kode ini bahkan lebih jelas daripada 2 dan daftar pemahaman _1sumber. NumPy lebih cepat untuk daftar besar dan pemrosesan yang rumit. NumPy menyediakan berbagai fungsi, jadi Anda harus mencobanya jika Anda sedang memproses array angka Bisakah kita meneruskan daftar ke fungsi lambda dengan Python?Dimungkinkan untuk meneruskan daftar ke fungsi lambda , tetapi tidak mungkin menggunakan daftar dengan operator **.
Bagaimana Anda menerapkan fungsi ke seluruh daftar dengan Python?Cara terbaik untuk menerapkan fungsi ke setiap elemen daftar adalah dengan menggunakan fungsi map() bawaan Python yang mengambil fungsi dan satu atau lebih iterables sebagai argumen . Itu kemudian menerapkan fungsi ke setiap elemen iterables. . It then applies the function to each element of the iterables.
Bisakah Anda menerapkan fungsi ke daftar dengan Python?4 cara berbeda untuk menerapkan fungsi ke daftar dengan python. Menerapkan Fungsi ke daftar menggunakan for loop dengan python . Menerapkan Fungsi ke semua anggota atau elemen daftar menggunakan Fungsi Peta (). Gunakan Pemahaman Daftar untuk menerapkan fungsi ke daftar.
Bisakah fungsi lambda mengulang daftar?Ekspresi lambda adalah kode sebaris yang mengimplementasikan antarmuka fungsional tanpa membuat kelas anonim. Di Java 8, pernyataan forEach dapat digunakan bersama dengan ekspresi lambda yang mengurangi perulangan melalui Map menjadi pernyataan tunggal dan juga mengulangi elemen daftar. |