Saat memprogram, Anda sering perlu memeriksa apakah semua item dalam iterable benar. Pengkodean fungsi ini berulang kali dapat mengganggu dan tidak efisien. Untungnya, Python menyediakan fungsi 3 bawaan untuk mengatasi masalah ini. Fungsi ini mengambil iterable dan memeriksa semua itemnya untuk nilai kebenaran, yang berguna untuk mengetahui apakah item tersebut memiliki properti tertentu atau memenuhi kondisi tertentu Show
3 Python adalah alat yang ampuh yang dapat membantu Anda menulis kode yang bersih, mudah dibaca, dan efisien di PythonDalam tutorial ini, Anda akan mempelajari caranya
Untuk melengkapi pengetahuan ini, Anda akan membuat kode beberapa contoh yang menampilkan kasus penggunaan menarik dari 3 dan menyoroti banyak cara untuk menggunakan fungsi ini dalam pemrograman PythonUntuk memahami topik dalam tutorial ini, Anda harus memiliki pengetahuan dasar tentang beberapa konsep Python, seperti struktur data yang dapat diulang, tipe Boolean, ekspresi, , pemahaman daftar, dan Unduhan PDF gratis. Lembar Curang Python 3 Mengevaluasi Nilai Kebenaran Item di IterablesMasalah yang cukup umum dalam pemrograman adalah menentukan apakah semua item dalam daftar atau larik benar atau tidak. Misalnya, Anda mungkin memiliki daftar ketentuan berikut
Untuk mengetahui apakah kondisi ini benar, Anda perlu mengulanginya dan menguji kebenaran setiap kondisi. Dalam contoh ini, Anda memiliki _1 benar, 2 benar, dan 3 juga benar. Akibatnya, Anda dapat mengatakan bahwa semua kondisi ini benar. Jika setidaknya salah satu syarat salah, maka Anda akan mengatakan bahwa tidak semua syarat benarPerhatikan bahwa segera setelah Anda menemukan kondisi yang salah, Anda dapat berhenti mengevaluasi kondisi karena, dalam hal ini, Anda sudah mengetahui hasil akhirnya. tidak semuanya benar Untuk mengatasi masalah ini dengan menulis kode Python khusus, Anda dapat menggunakan loop 7 untuk mengulangi setiap kondisi dan mengevaluasi kebenarannya. Perulangan Anda akan berulang hingga menemukan item yang salah, pada saat itu akan berhenti karena Anda sudah mendapatkan hasilnya>>> _Fungsi ini menggunakan iterable sebagai argumen. Perulangan berulang pada argumen input sementara pernyataan 8 bersyarat memeriksa apakah ada item yang salah menggunakan operator 9. Jika item salah, maka fungsi segera mengembalikan 0, menandakan bahwa tidak semua item benar. Jika tidak, ia mengembalikan 1Fungsi ini cukup umum. Dibutuhkan iterable, yang berarti Anda dapat mengirimkan daftar, tuple, string, kamus, atau struktur data iterable lainnya. Untuk memeriksa apakah item saat ini benar atau salah, 2 menggunakan operator 9 untuk membalikkan nilai kebenaran operannya. Dengan kata lain, ia mengembalikan 1 jika operannya bernilai false dan sebaliknyaOperator Boolean Python dapat mengevaluasi nilai kebenaran dari ekspresi dan objek, yang menjamin bahwa fungsi Anda dapat mengambil iterable yang berisi objek, ekspresi, atau keduanya. Misalnya, jika Anda mengirimkan iterable ekspresi Boolean, maka 9 hanya mengevaluasi ekspresi dan meniadakan hasilnyaInilah _2 beraksi>>> _Karena semua ekspresi dalam input iterable adalah benar, 9 meniadakan hasilnya, dan blok kode 8 tidak pernah berjalan. Dalam hal ini, _2 mengembalikan 1Hal serupa terjadi ketika input iterable menyimpan objek Python dan ekspresi non-Boolean >>> _Pada contoh pertama, daftar masukan berisi objek Python biasa, termasuk string, angka, dan kamus. Dalam hal ini, 2 mengembalikan 0 karena kamus kosong dan dievaluasi menjadi false dengan PythonUntuk bekerja pada objek, Python memiliki seperangkat aturan internal untuk objek yang dinilai salah
Objek lain apa pun dievaluasi sebagai benar saat Anda menguji kebenarannya dengan Python Dalam contoh kedua, daftar input berisi ekspresi umum Python, seperti ekspresi matematika dan pemanggilan fungsi. Dalam hal ini, Python pertama mengevaluasi ekspresi untuk mendapatkan nilai yang dihasilkan, dan kemudian memeriksa kebenaran nilai tersebut Contoh ketiga menyoroti detail penting dari 2. Ketika input iterable kosong, maka loop 7 tidak berjalan, dan fungsi mengembalikan 1 segera. Perilaku ini mungkin tampak aneh pada pandangan pertama. Namun, logika di baliknya adalah jika tidak ada item dalam input yang dapat diubah, maka tidak ada cara untuk mengatakan jika ada item yang salah. Jadi, fungsi mengembalikan _1 dengan iterables kosongMeskipun pengkodean _2 cukup mudah dengan Python, menulis fungsi kustom ini dapat mengganggu setiap kali Anda membutuhkan fungsinya. Menentukan apakah semua item dalam iterable benar adalah tugas umum dalam pemrograman sehingga Python menyediakan fungsi bawaan untuk pekerjaan ituHilangkan iklanMemulai Dengan Python >>> bool_exps = [ .. 5 > 2, .. 1 == 1, .. 42 < 50, .. ] >>> all(bool_exps) True >>> objects = ["Hello!", 42, {}] >>> all(objects) False >>> general_exps = [ .. 5 ** 2, .. 42 - 3, .. int("42") .. ] >>> all(general_exps) True >>> empty = [] >>> all(empty) True 3Jika Anda memeriksa untuk 3 Python, maka Anda akan melihat bahwa fungsinya setara dengan fungsi yang Anda kodekan di bagian sebelumnya. Namun, seperti semua fungsi bawaan, 3 adalah fungsi C dan dioptimalkan untuk kinerjaGuido van Rossum mengusulkan fungsi _3 dan 0 dalam upaya untuk menghapus 1 dan alat fungsional lainnya, seperti 2 dan 3, dari Python. Namun, komunitas Python tidak senang menghapus alat ini. Meski begitu, 3 dan 0 ditambahkan sebagai fungsi bawaan di , dengan implementasi oleh Raymond HettingerBisa dikatakan bahwa 3 Python melakukan operasi pengurangan atau pelipatan karena ia mengurangi iterable item menjadi satu objek. Namun, ini bukan fungsi tingkat tinggi karena tidak menggunakan fungsi lain sebagai argumen untuk melakukan perhitungannya. Jadi, Anda dapat menganggap 3 sebagai predikat biasa atau fungsi bernilai BooleanAnda dapat menggunakan _3 untuk memeriksa apakah semua item dalam input iterable benar. Karena ini adalah fungsi bawaan, Anda tidak perlu mengimpornya. Begini cara kerjanya>>> ________0______ Contoh ini menunjukkan bahwa 3 berfungsi sama seperti fungsi kustom Anda, 2. Secara internal, _3 mengulang item di input iterable, memeriksa nilai kebenarannya. Jika menemukan item palsu, maka mengembalikan 0. Jika tidak, ia mengembalikan 1Jika Anda memanggil 3 dengan iterable kosong, seperti yang Anda lakukan pada contoh terakhir di atas, maka Anda mendapatkan 1 karena tidak ada item palsu di iterable kosong. Perhatikan bahwa _3 mengevaluasi item dalam input iterable daripada iterable itu sendiri. Lihat Mengapa 3 Mengembalikan 1 jika Iterable Kosong? Untuk meringkas perilaku _3, inilah tabel kebenarannyaConditionResultAll item dievaluasi sebagai benar. 1Semua item dievaluasi sebagai salah. 0Satu atau lebih item dievaluasi sebagai salah. 0Masukan iterable kosong. _1Anda dapat menjalankan panggilan berikut ke 3 untuk mengonfirmasi informasi dalam tabel ini>>> _Contoh-contoh ini menunjukkan bahwa 3 mengembalikan 1 ketika semua item dalam input iterable benar atau ketika iterable kosong. Jika tidak, fungsi mengembalikan 0Sama seperti fungsi 2 Anda, 3 juga menerapkan apa yang dikenal sebagai evaluasi hubung singkat. Evaluasi semacam ini berarti bahwa _3 akan kembali segera setelah menentukan hasil akhir operasiHubungan arus pendek terjadi ketika fungsi menemukan item palsu di iterable. Dalam hal ini, tidak perlu mengevaluasi item lainnya karena fungsi sudah mengetahui hasil akhirnya. Perhatikan bahwa jenis penerapan ini berarti Anda bisa mendapatkan perilaku yang berbeda saat menguji kondisi dengan efek samping. Perhatikan contoh berikut >>> _Fungsi _21 mengambil objek sebagai argumen dan mengembalikan nilai kebenarannya. Selama eksekusi fungsi, efek samping terjadi. fungsi mencetak sesuatu ke layarContoh pertama _22 memegang a yang menghasilkan nilai kebenaran setelah dengan malas mengevaluasi setiap item dari input iterable, yaitu 23 dalam contoh. Kali ini, 3 hanya mengevaluasi fungsi satu kali karena 25 mengembalikan 0. Efek samping hanya berjalan sekaliSekarang lihat contoh kedua dari 22. Jika Anda membalikkan iterable input, maka _3 mengevaluasi kedua item karena panggilan ke 21 dengan 30 sebagai argumen mengembalikan 1. Efek samping berjalan dua kaliPerilaku ini dapat menjadi sumber masalah halus, sehingga Anda harus menghindari mengevaluasi kondisi dengan efek samping dalam kode Anda Terakhir, ketika menggunakan fungsi 3, Anda dapat mengatakan bahwa fungsi tersebut memiliki setidaknya dua kasus penggunaan umum. Anda dapat menggunakan _3 untuk memeriksa apakah semua item dalam iterable
Di bagian berikut, Anda akan mempelajari cara menggunakan 3 dengan berbagai jenis iterable di Python. Setelah itu, Anda akan mempelajari cara menggunakan 3 dengan pemahaman daftar dan ekspresi generator untuk menyelesaikan kasus penggunaan kedua yang tercantum di atasMenggunakan >>> bool_exps = [ .. 5 > 2, .. 1 == 1, .. 42 < 50, .. ] >>> all(bool_exps) True >>> objects = ["Hello!", 42, {}] >>> all(objects) False >>> general_exps = [ .. 5 ** 2, .. 42 - 3, .. int("42") .. ] >>> all(general_exps) True >>> empty = [] >>> all(empty) True _3 Dengan Berbagai Jenis IterableFungsi 3 bawaan mencakup gaya pengetikan bebek Python dan menerima jenis argumen yang berbeda asalkan dapat diulang. Anda dapat menggunakan 3 dengan daftar, tupel, string, kamus, set, dan sejenisnyaDalam semua kasus, 3 bekerja seperti yang diharapkan, mengembalikan 1 jika semua item benar dan 0 sebaliknya. Di bagian ini, Anda akan membuat kode contoh menggunakan 3 dengan tipe iterable yang berbedaUrutanHingga saat ini, Anda telah mempelajari cara 3 bekerja dengan daftar Python. Di bagian ini, Anda akan belajar bahwa tidak ada perbedaan nyata antara daftar dan tipe data urutan lainnya, seperti tupel, dan objek 44. Semua fungsi yang dibutuhkan adalah agar objek input dapat diubahBerikut adalah beberapa contoh penggunaan _3 dengan tupel dan 44 objek>>> _Seperti biasa, jika semua item di input iterable benar, maka Anda mendapatkan 1. Jika tidak, Anda mendapatkan 0. Tupel dan rentang kosong menghasilkan 1 hasil. Dalam contoh terakhir, memanggil 50 dengan 5 sebagai argumen mengembalikan objek kosong 44, jadi 3 memberi Anda 1 sebagai hasilnyaAnda juga dapat meneruskan tupel yang berisi ekspresi, ekspresi Boolean, atau objek Python dari jenis apa pun ke 3. Silahkan dan cobalahKamusKamus adalah kumpulan pasangan kunci-nilai. Jika Anda mengulang melalui kamus secara langsung, maka Anda akan mengulangi kuncinya secara otomatis. Selain itu, Anda dapat menggunakan metode praktis untuk mengulang kunci, nilai, dan item kamus secara eksplisit Catatan. Menggunakan _3 dengan metode kamus 57 tidak masuk akal. Metode ini mengembalikan pasangan kunci-nilai sebagai tupel dua item, yang akan selalu bernilai true di PythonJika Anda mengirimkan kamus langsung ke 3, maka fungsi akan memeriksa kunci kamus secara otomatis>>> _Karena semua kunci dalam kamus pertama benar, Anda mendapatkan 1 sebagai hasilnya. Dalam kamus kedua, kunci pertama adalah 5, yang bernilai salah. Dalam hal ini, Anda mendapatkan _0 kembali dari 3Jika Anda ingin mendapatkan hasil yang sama seperti pada contoh di atas, tetapi dengan kode yang lebih mudah dibaca dan eksplisit, Anda dapat menggunakan metode yang mengembalikan semua kunci dari kamus yang mendasarinya >>> _Dengan _63, Anda memperjelas bahwa kode Anda memanggil 3 untuk menentukan apakah semua kunci saat ini dalam kamus input benarPersyaratan umum lainnya adalah Anda perlu memeriksa apakah semua nilai dalam kamus tertentu dievaluasi sebagai benar. Dalam hal ini, Anda dapat menggunakan >>> _Dalam contoh ini, pertama-tama Anda memeriksa apakah setidaknya ada satu item dalam inventaris perlengkapan sekolah Anda saat ini. Pada hari Senin, semua item Anda memiliki setidaknya satu unit, jadi 3 pengembalian 1. Namun, pada hari Selasa, panggilan ke _3 mengembalikan 0 karena Anda kehabisan unit di setidaknya salah satu persediaan Anda, 71 dalam hal iniHilangkan iklanMenggunakan >>> bool_exps = [ .. 5 > 2, .. 1 == 1, .. 42 < 50, .. ] >>> all(bool_exps) True >>> objects = ["Hello!", 42, {}] >>> all(objects) False >>> general_exps = [ .. 5 ** 2, .. 42 - 3, .. int("42") .. ] >>> all(general_exps) True >>> empty = [] >>> all(empty) True _3 Dengan Pemahaman dan Ekspresi GeneratorSeperti yang Anda pelajari sebelumnya, kasus penggunaan kedua dari 3 Python adalah untuk memeriksa apakah semua item dalam iterable memiliki properti tertentu atau memenuhi kondisi tertentu. Untuk melakukan pemeriksaan semacam ini, Anda dapat menggunakan 3 dengan pemahaman daftar atau ekspresi generator sebagai argumen, tergantung pada kebutuhan AndaSinergi yang Anda dapatkan dengan menggabungkan 3 dengan pemahaman daftar dan ekspresi generator melepaskan kekuatan penuh dari fungsi ini dan membuatnya sangat berharga dalam pengkodean sehari-hari AndaSalah satu cara untuk memanfaatkan kekuatan super 3 ini adalah dengan menggunakan fungsi predikat yang menguji properti yang diinginkan. Fungsi predikat ini akan menjadi ekspresi dalam pemahaman daftar yang akan Anda berikan sebagai argumen untuk 3. Inilah sintaks yang diperlukan _0Pemahaman daftar ini menggunakan 78 untuk menguji setiap 79 di 80 untuk properti tertentu. Kemudian panggilan ke _3 mengurangi daftar yang dihasilkan menjadi satu nilai 1 atau 0, yang memberi tahu Anda jika semua item memiliki properti yang 78 mendefinisikan dan mengujiMisalnya, kode berikut memeriksa apakah semua nilai dalam suatu urutan adalah bilangan prima >>> 1Dalam contoh ini, Anda menggabungkan _3 dengan pemahaman daftar. Komprehensi menggunakan fungsi predikat 86 untuk menguji setiap nilai dalam 87 untuk primality. Daftar yang dihasilkan akan berisi nilai Boolean ( 1 atau 0) untuk hasil dari setiap pemeriksaan. Kemudian 3 mendapatkan daftar ini sebagai argumen dan memprosesnya untuk menentukan apakah semua bilangan prima atau tidakCatatan. Predikat _86 didasarkan pada algoritme dari artikel Wikipedia tentangKasus penggunaan kedua dari kombinasi ajaib ini, 3 ditambah pemahaman daftar, adalah untuk memeriksa apakah semua item dalam iterable memenuhi kondisi tertentu. Inilah sintaks yang diperlukan _2Panggilan ke _3 ini menggunakan pemahaman daftar untuk memeriksa apakah semua item di 80 memenuhi persyaratan 95, yang umumnya didefinisikan dalam istilah 79 individu. Mengikuti ide ini, berikut adalah beberapa contoh yang memeriksa apakah semua angka dalam daftar lebih besar dari 5>>> 3Pada contoh pertama, 3 mengembalikan 1 karena semua angka dalam daftar input memenuhi kondisi lebih besar dari 5. Pada contoh kedua, hasilnya adalah _0 karena input iterable mencakup 5 dan angka negatifSeperti yang sudah Anda ketahui, _3 mengembalikan 1 dengan iterable kosong sebagai argumen. Perilaku ini mungkin tampak aneh dan dapat menyebabkan kesimpulan yang salah>>> 4Kode ini menunjukkan bahwa semua nilai di _87 kurang dari 5, tetapi juga sama dengan dan lebih besar dari 5, yang tidak mungkin. Akar penyebab dari hasil yang tidak logis ini adalah bahwa semua panggilan ini ke 3 mengevaluasi iterables kosong, yang membuat 3 mengembalikan 1Untuk mengatasi masalah ini, Anda dapat menggunakan fungsi 11 bawaan untuk mendapatkan jumlah item dalam iterable input. Jika _11 mengembalikan 5, maka Anda dapat melewati panggilan 3 untuk memproses input kosong yang dapat diulang. Strategi ini akan membuat kode Anda tidak terlalu rawan kesalahanSemua contoh yang telah Anda kodekan di bagian ini menggunakan pemahaman daftar sebagai argumen untuk 3. Pemahaman daftar membuat daftar lengkap dalam memori, yang bisa menjadi operasi yang sia-sia. Perilaku ini berlaku terutama jika Anda tidak memerlukan daftar yang dihasilkan dalam kode Anda lagi, yang merupakan kasus umum dengan 3Dalam situasi ini, selalu lebih efisien untuk menggunakan 3 dengan ekspresi generator, terutama jika Anda bekerja dengan daftar masukan yang panjang. Alih-alih membangun seluruh daftar baru di memori, ekspresi generator akan menghasilkan dan menghasilkan item sesuai permintaan, membuat kode Anda lebih efisienSintaks untuk membuat ekspresi generator hampir sama dengan yang Anda gunakan untuk pemahaman daftar _5Satu-satunya perbedaan adalah bahwa ekspresi generator menggunakan tanda kurung ( 1) bukan tanda kurung siku ( 2). Karena pemanggilan fungsi sudah memerlukan tanda kurung, Anda hanya perlu menghapus tanda kurung sikuTidak seperti pemahaman daftar, ekspresi generator menghasilkan item sesuai permintaan, membuatnya cukup efisien dalam hal penggunaan memori. Selain itu, Anda tidak akan membuat daftar baru hanya untuk membuangnya setelah 3 kembaliMembandingkan >>> bool_exps = [ .. 5 > 2, .. 1 == 1, .. 42 < 50, .. ] >>> all(bool_exps) True >>> objects = ["Hello!", 42, {}] >>> all(objects) False >>> general_exps = [ .. 5 ** 2, .. 42 - 3, .. int("42") .. ] >>> all(general_exps) True >>> empty = [] >>> all(empty) True 3 Dengan Operator Boolean >>> bool_exps = [ .. 5 > 2, .. 1 == 1, .. 42 < 50, .. ] >>> all(bool_exps) True >>> objects = ["Hello!", 42, {}] >>> all(objects) False >>> general_exps = [ .. 5 ** 2, .. 42 - 3, .. int("42") .. ] >>> all(general_exps) True >>> empty = [] >>> all(empty) True 9Secara kasar Anda dapat menganggap 3 sebagai serangkaian item yang terhubung melalui operator Boolean 9. Misalnya, pemanggilan fungsi _25 secara semantik setara dengan ekspresi 26. Namun, ada beberapa perbedaan kecil di antara merekaDi bagian ini, Anda akan belajar tentang perbedaan tersebut. Yang pertama berkaitan dengan sintaks, dan yang kedua tentang nilai kembalian. Selain itu, Anda akan mengetahui bahwa operator _3 dan 9 menerapkan evaluasi hubung singkatMemahami Perbedaan SintaksPanggilan ke _3 menggunakan sintaks yang sama dengan panggilan fungsi apa pun di Python. Anda perlu memanggil fungsi dengan sepasang tanda kurung. Dalam kasus khusus _3, Anda harus memberikan iterable of values sebagai argumen>>> 6Item dalam iterable input dapat berupa ekspresi umum, ekspresi Boolean, atau objek Python dari jenis apa pun. Selain itu, jumlah item dalam input iterable hanya bergantung pada jumlah memori yang tersedia di sistem Anda Di sisi lain, operator _9 adalah operator biner yang menghubungkan dua operan dalam sebuah ekspresi>>> 7Operator _9 logis mengambil operan kiri dan kanan untuk membuat ekspresi majemuk. Sama seperti dengan 3, operan dalam ekspresi 9 dapat berupa ekspresi umum, ekspresi Boolean, atau objek Python. Terakhir, Anda dapat menggunakan beberapa operator _9 untuk menghubungkan sejumlah operanMengembalikan Nilai Boolean vs OperanPerbedaan kedua dan yang lebih penting antara _3 dan operator 9 adalah nilai pengembalian masing-masing. Sementara 3 selalu mengembalikan 1 atau 0, operator 9 selalu mengembalikan salah satu operannya. Itu hanya mengembalikan 1 atau 0 jika operan yang dikembalikan secara eksplisit mengevaluasi salah satu nilai>>> ________25______8 Contoh ini menunjukkan bagaimana 3 selalu mengembalikan 1 atau 0, yang konsisten dengan status fungsi predikat. Di sisi lain, _9 mengembalikan operan yang terakhir dievaluasi. Jika itu adalah operan terakhir dalam sebuah ekspresi, maka semua operan sebelumnya pasti benar. Jika tidak, _9 akan mengembalikan operan palsu pertama, menunjukkan di mana evaluasi berhentiPerhatikan bahwa dalam contoh terakhir, operator _9 mengembalikan 1 karena operan yang tersirat adalah ekspresi, yang selalu mengembalikan 1 atau 0 secara eksplisitIni adalah perbedaan penting antara fungsi 3 dan operator 9. Jadi, Anda harus memperhitungkannya untuk mencegah bug halus dalam kode Anda. Namun, dalam , seperti _8 pernyataan dan 56 loop, perbedaan ini tidak relevan sama sekaliMempersingkat EvaluasiSeperti yang sudah Anda pelajari, 3 menghubungkan evaluasi item dalam input iterable saat menentukan hasil akhir. Operator 9 juga mengimplementasikanKeuntungan dari fitur ini adalah membuat operasi menjadi efisien dengan melewatkan pemeriksaan yang tersisa segera setelah item palsu muncul Untuk mencoba evaluasi hubung singkat, Anda dapat menggunakan a , seperti pada contoh berikut >>> 9Loop di dalam 59 mengulang item di 80, menggunakan fungsi 61 bawaan untuk mendapatkan indeks dari setiap item yang dicentang. Kemudian loop mencetak pesan yang mengidentifikasi item yang dicentang dan menghasilkan item yang adaDengan _59, Anda dapat menjalankan kode berikut untuk menguji 3 untuk evaluasi hubung singkat>>> 0Panggilan pertama ke _3 menunjukkan bagaimana fungsi memeriksa kedua item untuk menentukan hasil akhir. Panggilan kedua mengonfirmasi bahwa 3 hanya memeriksa item pertama. Karena item ini salah, fungsi langsung kembali tanpa mencentang item kedua. Itu sebabnya generator masih menghasilkan item kedua saat Anda meneleponSekarang Anda dapat menjalankan pengujian serupa menggunakan operator 9>>> 1Ekspresi _9 pertama mengevaluasi kedua operan untuk mendapatkan hasil akhir. Ekspresi _9 kedua hanya mengevaluasi operan pertama untuk menentukan hasilnya. Panggilan ke 66 dengan 71 sebagai argumen menunjukkan bahwa fungsi generator masih menghasilkan item yang tersisaHilangkan iklanMenempatkan >>> bool_exps = [ .. 5 > 2, .. 1 == 1, .. 42 < 50, .. ] >>> all(bool_exps) True >>> objects = ["Hello!", 42, {}] >>> all(objects) False >>> general_exps = [ .. 5 ** 2, .. 42 - 3, .. int("42") .. ] >>> all(general_exps) True >>> empty = [] >>> all(empty) True _3 Menjadi Tindakan. Contoh PraktisSejauh ini, Anda telah mempelajari dasar-dasar 3 Python. Anda telah belajar menggunakannya dengan urutan, kamus, pemahaman daftar, dan ekspresi generator. Selain itu, Anda telah mempelajari tentang perbedaan dan persamaan antara fungsi bawaan ini dan operator 9 logisDi bagian ini, Anda akan membuat kode serangkaian contoh praktis yang akan membantu Anda menilai seberapa berguna 3 saat Anda memprogram dengan Python. Jadi, pantau terus dan nikmati pengkodean AndaMeningkatkan Keterbacaan Kondisi Senyawa PanjangSalah satu fitur menarik dari 3 adalah bagaimana fungsi ini dapat meningkatkan keterbacaan kode saat Anda bekerja dengan ekspresi Boolean majemuk panjang berdasarkan operator 9Misalnya, Anda perlu memvalidasi input pengguna dalam sebuah kode. Agar input valid, harus berupa bilangan bulat antara 5 dan 79 yang juga merupakan bilangan genap. Untuk memeriksa semua kondisi ini, Anda dapat menggunakan pernyataan 8 berikut>>> 2Kondisi 8 terdiri dari panggilan yang memeriksa apakah input adalah bilangan bulat, ekspresi yang memeriksa apakah angka tersebut antara 5 dan 79, dan ekspresi yang memeriksa apakah nilai input adalah bilangan genapMeskipun kode ini berfungsi, kondisinya cukup panjang sehingga sulit untuk diurai dan dipahami. Selain itu, jika Anda perlu menambahkan lebih banyak pemeriksaan validasi di pembaruan mendatang, kondisinya akan menjadi lebih lama dan lebih rumit. Itu juga membutuhkan beberapa pemformatan kode Untuk meningkatkan keterbacaan persyaratan ini, Anda dapat menggunakan 3, seperti pada kode berikut>>> 3Dalam contoh ini, semua kondisi validasi hidup dalam sebuah tuple dengan nama deskriptif. Menggunakan teknik ini memiliki keuntungan tambahan. jika Anda perlu menambahkan kondisi validasi baru, maka Anda hanya perlu menambahkan baris baru ke tuple 86 Anda. Perhatikan bahwa sekarang pernyataan _8 Anda memiliki ekspresi yang cukup mudah dibaca, eksplisit, dan ringkas berdasarkan 3Dalam kehidupan nyata, strategi validasi biasanya memungkinkan Anda untuk menggunakan kembali kode validasi Anda. Misalnya, daripada menentukan kondisi biasa yang mengevaluasi hanya sekali, Anda dapat membuat kode fungsi validasi yang dapat digunakan kembali >>> 4Dalam contoh ini, Anda memiliki tiga fungsi yang memeriksa tiga kondisi asli Anda dengan cara yang dapat digunakan kembali. Kemudian Anda mendefinisikan ulang tuple kondisi validasi menggunakan fungsi yang baru saja Anda kodekan. Putaran terakhir _7 menunjukkan bagaimana Anda dapat menggunakan kembali fungsi ini untuk memvalidasi beberapa objek input menggunakan 3Memvalidasi Iterables dari Nilai NumerikKasus penggunaan lain yang menarik dari _3 adalah untuk memeriksa apakah semua nilai numerik dalam iterable berada dalam interval tertentu. Berikut adalah beberapa contoh bagaimana melakukan ini untuk kondisi yang berbeda dan dengan bantuan ekspresi generator>>> 5Contoh ini menunjukkan bagaimana Anda dapat membuat ekspresi generator untuk memeriksa apakah semua nilai dalam iterable angka berada dalam interval tertentu Teknik dalam contoh di atas memungkinkan banyak fleksibilitas. Anda dapat men-tweak kondisi dan menggunakan _3 untuk menjalankan semua jenis pemeriksaan pada target iterableHilangkan iklanMemvalidasi String dan Iterables dari StringTipe bawaan mengimplementasikan beberapa predikat yang dapat berguna saat Anda perlu memvalidasi iterable string dan karakter individual dalam string yang diberikan Misalnya, dengan metode tersebut, Anda dapat memeriksa apakah sebuah string adalah angka desimal yang valid, apakah itu karakter alfanumerik, atau apakah itu karakter ASCII yang valid Berikut adalah beberapa contoh penggunaan metode string dalam kode Anda >>> 6Masing-masing metode _94 ini memeriksa properti tertentu pada string yang mendasarinya. Anda dapat memanfaatkan ini dan beberapa metode string lainnya untuk memvalidasi item dalam iterable string serta karakter individual dalam string yang diberikanMenghapus Baris Dengan Kolom Kosong Dari Data TabularSaat Anda bekerja dengan data tabular, Anda mungkin menghadapi masalah memiliki bidang kosong. Membersihkan baris yang berisi bidang kosong mungkin merupakan persyaratan bagi Anda. Jika demikian, maka Anda dapat menggunakan 3 dan 2 untuk mengekstrak baris yang memiliki data di semua bidangnyaFungsi 2 bawaan mengambil objek fungsi dan iterable sebagai argumen. Biasanya, Anda akan menggunakan fungsi predikat sebagai argumen pertama untuk 2. Panggilan ke _2 menerapkan predikat ke setiap item dalam iterable dan mengembalikan iterator dengan item yang membuat predikat mengembalikan 1Anda dapat menggunakan 3 sebagai predikat dalam panggilan 2. Dengan cara ini, Anda dapat memproses daftar daftar, yang berguna saat Anda bekerja dengan data tabularSebagai contoh konkret, katakanlah Anda memiliki file CSV dengan data tentang karyawan perusahaan Anda 7Dengan melihat sekilas file ini, Anda akan melihat bahwa beberapa baris berisi kolom kosong. Misalnya, baris pertama tidak memiliki email, dan baris keempat tidak mencantumkan posisi atau peran. Anda perlu membersihkan data dengan menghapus baris yang berisi kolom kosong Inilah cara Anda dapat memenuhi persyaratan tersebut dengan menggunakan 3 sebagai predikat dalam panggilan 2>>> ________30______8 Dalam contoh ini, pertama-tama Anda memuat konten file CSV target ke 05 dengan menggunakan modul 06 dari pustaka standar Python. Panggilan ke fungsi _07 menunjukkan bahwa data berisi baris dengan bidang kosong. Kemudian Anda membersihkan data dengan 2 dan 3Catatan. Jika Anda merasa tidak nyaman menggunakan 2, maka Anda dapat menggantinya dengan pemahaman daftarLanjutkan dan jalankan baris kode berikut sebagai gantinya >>> 9Setelah Anda memiliki daftar data bersih, Anda dapat menjalankan 7 loop lagi untuk memeriksa apakah semuanya bekerja dengan baikBagaimana fungsi 2 dan 3 bekerja sama untuk menjalankan tugas? . Dengan hasil tersebut, _2 tidak akan menyertakan baris tersebut di data akhir. Untuk memastikan bahwa teknik ini berhasil, Anda dapat memanggil 07 dengan clean data sebagai argumenMembandingkan Struktur Data KustomSebagai contoh lain tentang cara menggunakan 3, katakanlah Anda perlu membuat kelas seperti daftar khusus yang memungkinkan Anda untuk memeriksa apakah semua nilainya lebih besar dari nilai tertentuUntuk membuat kelas khusus ini, Anda dapat membuat subkelas dari modul 20 dan kemudian mengganti yang dipanggil. Mengganti metode ini memungkinkan Anda membebani operator yang lebih besar dari ( 22), memberikan perilaku khusus untuknya>>> 0Di 21, Anda menggunakan 3 untuk memeriksa apakah semua angka dalam daftar saat ini lebih besar dari nilai 25 tertentu yang harus berasal dari penggunaEkspresi perbandingan di akhir cuplikan kode ini menunjukkan cara menggunakan daftar kustom Anda dan bagaimana perilakunya dengan operator yang lebih besar dari ( 22). Pada ekspresi pertama, semua nilai dalam daftar lebih besar dari 5, sehingga hasilnya adalah 1. Pada ekspresi kedua, semua angka kurang dari 29, yang menghasilkan hasil 0Hilangkan iklanSebagian Meniru Fungsi >>> bool_exps = [ .. 5 > 2, .. 1 == 1, .. 42 < 50, .. ] >>> all(bool_exps) True >>> objects = ["Hello!", 42, {}] >>> all(objects) False >>> general_exps = [ .. 5 ** 2, .. 42 - 3, .. int("42") .. ] >>> all(general_exps) True >>> empty = [] >>> all(empty) True 31 PythonFungsi _31 bawaan Python berguna untuk mengulang beberapa iterables secara paralel. Fungsi ini mengambil sejumlah iterables (N) tertentu sebagai argumen dan menggabungkan elemen dari masing-masingnya ke dalam N-item tupel. Dalam contoh ini, Anda akan mempelajari cara menggunakan 3 untuk menyimulasikan sebagian fungsi iniUntuk lebih memahami tantangannya, lihat dasar-dasar apa yang 31 lakukan>>> 1Dalam contoh ini, Anda meneruskan dua daftar sebagai argumen ke 31. Fungsi mengembalikan iterator yang menghasilkan tuple dari dua item masing-masing, yang dapat Anda konfirmasikan dengan memanggil 36 dengan iterator yang dihasilkan sebagai argumenInilah fungsi yang mensimulasikan fungsi ini >>> 2Fungsi _37 Anda dapat terdiri dari objek yang dapat diubah. Baris pertama di dalam fungsi menggunakan pemahaman daftar untuk mengonversi setiap input iterable menjadi daftar Python sehingga nanti Anda dapat menggunakan metode 38. Kondisi loop bergantung pada _3 untuk memeriksa apakah semua daftar input berisi setidaknya satu itemDi setiap iterasi, pernyataan mengembalikan tuple yang berisi satu item dari setiap daftar input. Panggilan ke _38 dengan 5 sebagai argumen mengambil dan menghapus item pertama dari setiap daftarSetelah loop berulang cukup banyak sehingga 38 menghapus semua item dari salah satu daftar, kondisi menjadi salah, dan fungsi berakhir. Loop berakhir ketika iterable terpendek habis, memotong iterable yang lebih panjang. Perilaku ini konsisten dengan perilaku default 31Perhatikan bahwa fungsi Anda hanya mengemulasi sebagian fungsi 31 bawaan karena fungsi Anda tidak menggunakan argumen 46. Argumen ini ditambahkan dalam Python 3. 10 sebagai cara penanganan yang amanKesimpulanSekarang Anda tahu cara memeriksa apakah semua item dalam iterable yang ada benar dengan menggunakan fungsi 3 bawaan Python. Anda juga tahu cara menggunakan fungsi ini untuk mengetahui apakah item dalam iterable memenuhi kondisi tertentu atau memiliki properti tertentuDengan pengetahuan ini, Anda sekarang dapat menulis kode Python yang lebih mudah dibaca dan efisien Dalam tutorial ini, Anda belajar
Selain itu, Anda membuat kode beberapa contoh praktis yang membantu Anda memahami seberapa kuat 3 dan beberapa kasus penggunaannya yang paling umum dalam pemrograman Python.Unduhan PDF gratis. Lembar Curang Python 3 Tandai sebagai Selesai 🐍 Trik Python 💌 Dapatkan Trik Python singkat & manis yang dikirim ke kotak masuk Anda setiap beberapa hari. Tidak pernah ada spam. Berhenti berlangganan kapan saja. Dikuratori oleh tim Real Python
Tentang Leodanis Pozo Ramos Leodanis adalah seorang insinyur industri yang menyukai Python dan pengembangan perangkat lunak. Dia adalah pengembang Python otodidak dengan pengalaman lebih dari 6 tahun. Dia adalah seorang penulis teknis yang rajin dengan semakin banyak artikel yang diterbitkan di Real Python dan situs lainnya » Lebih lanjut tentang LeodanisSetiap tutorial di Real Python dibuat oleh tim pengembang sehingga memenuhi standar kualitas tinggi kami. Anggota tim yang mengerjakan tutorial ini adalah Aldren Bartosz Geir Arne Kate Master Keterampilan Python Dunia Nyata Dengan Akses Tanpa Batas ke Python Nyata Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas pakar Pythonista Tingkatkan Keterampilan Python Anda » Guru Keterampilan Python Dunia Nyata Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas ahli Pythonista Tingkatkan Keterampilan Python Anda » Bagaimana menurut anda? Nilai artikel ini Tweet Bagikan Bagikan EmailApa takeaway # 1 Anda atau hal favorit yang Anda pelajari? Kiat Berkomentar. Komentar yang paling berguna adalah yang ditulis dengan tujuan belajar dari atau membantu siswa lain. dan dapatkan jawaban atas pertanyaan umum di portal dukungan kami Bagaimana Anda memeriksa semua elemen dalam daftar Python?Menggunakan Semua()
. Ini mirip dengan apa yang telah kita lakukan pada pendekatan pertama tetapi alih-alih for loop, kita menggunakan metode all().
Bagaimana Anda memeriksa apakah semua dalam daftar itu benar?Gunakan fungsi all() untuk memeriksa apakah semua elemen dalam daftar adalah True , e. g. jika semua (item True untuk item di my_list). . Fungsi all() akan mengembalikan True jika semua nilai dalam daftar sama dengan True dan False sebaliknya.
Bagaimana cara memeriksa apakah semua nilai dalam daftar sama dengan nilai Python?Di bawah ini adalah program sederhana. listChar = ['z','z','z','z'] nTemp = listChar[0] bEqual = True untuk item di listChar. jika nTemp. = barang. bEqual = Salah istirahat; . print "Semua elemen dalam daftar adalah sama. " kalau tidak. print "Semua elemen dalam daftar tidak sama. "
Bagaimana Anda memeriksa apakah semua elemen daftar ada dalam string Python?Cukup gunakan all() dan periksa jenisnya dengan isinstance() . @TekhenyGhemor - isinstance(item, str) dan bukan item. lstrip('-'). |