Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana `penapis`, `peta` dan `reduce` Python 3 telah Berubah, dan Bagaimana Saya Boleh Menyesuaikan Kod Saya?

Bagaimana `penapis`, `peta` dan `reduce` Python 3 telah Berubah, dan Bagaimana Saya Boleh Menyesuaikan Kod Saya?

Linda Hamilton
Lepaskan: 2024-11-27 16:35:12
asal
810 orang telah melayarinya

How Have Python 3's `filter`, `map`, and `reduce` Changed, and How Can I Adapt My Code?

Python 3: Menyesuaikan diri dengan Evolusi penapis, peta dan pengurangan

Dalam Python 2, fungsi menapis, memetakan dan mengurangkan menyediakan cara ringkas untuk memanipulasi data koleksi. Walau bagaimanapun, fungsi ini telah mengalami perubahan ketara dalam Python 3.

penapis dan peta: Iterator Daripada Senarai

Daripada mengembalikan senarai, tapis dan peta kini mengembalikan iterator. Perubahan ini sejajar dengan falsafah reka bentuk Python 3 untuk menggalakkan kemalasan dan kecekapan. Iterators menjimatkan memori dan meningkatkan prestasi dengan menghasilkan elemen seperti yang diperlukan, dan bukannya membuat keseluruhan senarai terlebih dahulu.

Untuk mendapatkan senarai yang setara dengan hasil penapis atau peta, anda boleh menggunakan fungsi list() seperti berikut:

filtered_list = list(filter(f, range(2, 25)))
mapped_list = list(map(cube, range(1, 11)))
Salin selepas log masuk

kurangkan: Ditamatkan dan Diganti

Python 3 telah mengalih keluar fungsi mengurangkan. Ia telah diturunkan kepada modul functools sebagai functools.reduce(). Perubahan ini didorong oleh tanggapan salah mengenai penggunaan pengurangan. Dalam kebanyakan kes, gelung untuk eksplisit dianggap lebih mudah dibaca dan cekap.

Perhatikan bahawa functools.reduce() mempunyai tujuan yang sama seperti reduce dalam Python 2. Walau bagaimanapun, jika kod anda banyak bergantung pada reduce, semak semula kod tersebut. dan meneroka pendekatan alternatif (seperti eksplisit untuk gelung atau fungsi tertib lebih tinggi) adalah disyorkan.

Dengan menerima perubahan ini, anda boleh sesuaikan kod Python anda kepada versi terkini dan manfaatkan peningkatan dalam prestasi dan kebolehbacaannya.

Atas ialah kandungan terperinci Bagaimana `penapis`, `peta` dan `reduce` Python 3 telah Berubah, dan Bagaimana Saya Boleh Menyesuaikan Kod Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan