Membandingkan Senarai dengan Operator yang Lebih Besar daripada atau Kurang Daripada Operator
Apabila membandingkan dua senarai menggunakan operator perbandingan (>, <), Python menggunakan susunan leksikografik. Ini bermakna senarai itu dibandingkan dengan elemen demi elemen, dari kiri ke kanan.
Jika pada bila-bila masa unsur paling kiri senarai berbeza, hasil perbandingan adalah berdasarkan nilainya. Walau bagaimanapun, jika elemen yang sepadan adalah sama, perbandingan beralih ke pasangan elemen seterusnya.
Contohnya:
a = [10, 3, 5] b = [5, 4, 3] print(a > b) # True (because the leftmost element 10 is greater than 5) print(b < a) # True (because the leftmost element 4 is less than 10)
Perhatikan bahawa susunan leksikografi menganggap elemen yang sama sebagai "tidak acuh." Oleh itu, jika dua senarai mempunyai elemen yang sama dalam susunan yang berbeza, perbandingan mungkin masih mengembalikan Betul atau Salah berdasarkan susunan:
print([3, 3, 3, 3] > [4, 4, 4, 4]) # False print([4, 4, 4, 4] > [3, 3, 3, 3]) # True</p> <p>Hasilnya menjadi kurang intuitif apabila senarai mengandungi elemen yang berbeza dalam nilai :</p> <pre class="brush:php;toolbar:false">print([1, 1, 3, 1] > [1, 3, 1, 1]) # False print([1, 3, 1, 1] > [1, 1, 3, 3]) # True
Hasil ini disebabkan oleh susunan leksikografik. Apabila elemen paling kiri adalah sama, Python beralih ke pasangan seterusnya. Dalam contoh pertama, dua elemen pertama (1 dan 1) adalah sama, jadi ia membandingkan pasangan kedua (3 dan 3). Memandangkan 3 lebih besar daripada 3, senarai pertama dianggap lebih besar.
Dalam contoh kedua, apabila elemen paling kiri adalah sama (1 dan 1), pasangan kedua juga sama (3 dan 3). Oleh itu, Python beralih ke pasangan seterusnya (1 dan 1). Memandangkan 1 bersamaan dengan 1, senarai pertama masih dianggap lebih besar.
Atas ialah kandungan terperinci Bagaimanakah Python membandingkan senarai menggunakan operator yang lebih besar daripada atau kurang daripada?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!