หมายเหตุ: ฟังก์ชัน cmp() ถูกลบออกใน Python 3 แล้ว บทความนี้อธิบายพฤติกรรมใน Python 2 เพื่อความเข้าใจทางประวัติศาสตร์
ใน Python 2 เมธอด cmp() ใช้เปรียบเทียบสมาชิกของสองลิสต์ หากสมาชิกเป็นชนิดเดียวกัน จะเปรียบเทียบและคืนผลลัพธ์ หากเป็นชนิดต่างกัน จะตรวจสอบว่าทั้งคู่เป็นตัวเลขหรือไม่ หากเป็นตัวเลข จะทำ type coercion หากเป็นไปได้ก่อนเปรียบเทียบ หากมีเพียงด้านใดด้านหนึ่งเป็นตัวเลข ด้านนั้นจะถือว่า "น้อยกว่า" (ตัวเลขถือว่า "น้อยที่สุด") มิฉะนั้น จะเรียงตามชื่อชนิดข้อมูลตามลำดับอักษร
หากถึงท้ายของลิสต์ใดลิสต์หนึ่ง ลิสต์ที่ยาวกว่าจะถือว่า "มากกว่า" หากทั้งสองลิสต์หมดและมีข้อมูลเหมือนกัน ผลลัพธ์คือเสมอ (คืนค่า 0)
ตัวอย่าง (Python 2)
list1 = [123, 'xyz'] list2 = [456, 'abc'] print(cmp(list1, list2)) print(cmp(list2, list1)) list2 = [123, 'xyz'] print(cmp(list1, list2))
ผลลัพธ์
-1 1 0
ทางเลือกใน Python 3
ใน Python 3 สามารถเปรียบเทียบลิสต์โดยตรงด้วยออเปอเรเตอร์เปรียบเทียบ (<, >, ==, <=, >=, !=) ซึ่งใช้การเปรียบเทียบแบบ lexicographical (เปรียบเทียบทีละสมาชิกตามลำดับ)
list1 = [123, 'xyz'] list2 = [456, 'abc'] print(list1 < list2) # True print(list1 > list2) # False print(list1 == list2) # False