Cara Menguji Berbilang Pembolehubah Secara serentak untuk Kesamaan terhadap Nilai Tunggal dalam Python
Apabila membandingkan banyak pembolehubah kepada integer dan menghasilkan tiga- rentetan huruf sebagai output, anda mungkin menghadapi cabaran untuk menterjemah konsep ini ke dalam Python. Mari kita mendalami isu ini dan cari penyelesaian yang paling berkesan.
Pertimbangkan coretan kod berikut:
x = 0 y = 1 z = 3 mylist = [] if x or y or z == 0: mylist.append("c") if x or y or z == 1: mylist.append("d") if x or y or z == 2: mylist.append("e") if x or y or z == 3: mylist.append("f")
Output yang dijangkakan bagi kod ini hendaklah:
["c", "d", "f"]
Walau bagaimanapun, disebabkan oleh sifat ungkapan boolean, Python menilai setiap sisi operator atau secara berasingan. Akibatnya, kod ini tidak akan menghasilkan hasil yang diingini.
Untuk menyelesaikan isu ini, anda boleh menggunakan pendekatan alternatif, seperti menguji setiap pembolehubah secara individu terhadap nilai tertentu:
if x == 1 or y == 1 or z == 1: mylist.append("d")
Sebagai alternatif , anda boleh menggunakan ujian pembendungan terhadap tupel atau set:
if 1 in (x, y, z): mylist.append("d") # Or even more efficiently if 1 in {x, y, z}: mylist.append("d")
Set menawarkan ujian keahlian kos berterusan, menjadikannya pilihan yang optimum untuk senario ini.
Adalah penting untuk diingat bahawa ungkapan boolean mengikut hierarki operasi, dengan pengendali suka atau mempunyai keutamaan yang lebih rendah daripada pengendali perbandingan seperti ==. Memahami peraturan keutamaan ini akan membantu anda menulis kod yang lebih berkesan dan tepat.
Atas ialah kandungan terperinci Bagaimana untuk Menguji Berbilang Pembolehubah dengan Cekap untuk Kesamaan Terhadap Nilai Tunggal dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!