método cmp(lista) en Python

cmp(list) es un método especificado en Number en Python 2.

La comparación de números enteros se ha discutido usando cmp() . Pero muchas veces, existe la necesidad de comparar la lista completa que puede estar compuesta por tipos de datos similares o diferentes. En este caso, ocurren diferentes escenarios de casos y tener conocimiento de ellos a veces puede resultar bastante útil.

Esta función toma 2 listas como entrada y verifica si la primera lista de argumentos es mayor, igual o menor que la segunda lista de argumentos.

Sintaxis: cmp(lista1, lista2)

Parámetros:
lista1: La primera lista de argumentos a comparar.
list2 : La segunda lista de argumentos a comparar.

Devuelve: esta función devuelve 1, si la primera lista es «mayor» que la segunda lista, -1 si la primera lista es más pequeña que la segunda lista; de lo contrario, devuelve 0 si ambas listas son iguales.

Hay ciertos escenarios de casos en los que necesitamos decidir si una lista es más pequeña, más grande o igual a la otra lista.

Caso 1: cuando la lista contiene solo números enteros.

Este es el caso cuando todos los elementos de la lista son de tipo entero y, por lo tanto, cuando se realiza la comparación, la comparación número por número se realiza de izquierda a derecha, si obtenemos un número mayor en cualquier índice en particular, lo llamamos mayor. y detener las comparaciones posteriores. Si todos los elementos en ambas listas son similares y una lista es más grande (en tamaño) que la otra lista, la lista más grande se considera mayor.

 
Código #1: Demostración de cmp() usando solo números enteros.

# Python code to demonstrate 
# the working of cmp()
# only integer case.
  
# initializing argument lists
list1 = [ 1, 2, 4, 3]
list2 = [ 1, 2, 5, 8]
list3 = [ 1, 2, 5, 8, 10]
list4 = [ 1, 2, 4, 3]
  
# Comparing lists 
print "Comparison of list2 with list1 : ",
print cmp(list2, list1)
  
# prints -1, because list3 has larger size than list2
print "Comparison of list2 with list3(larger size) : ",
print cmp(list2, list3)
  
# prints 0 as list1 and list4 are equal
print "Comparison of list4 with list1(equal) : ",
print cmp(list4, list1)

Producción:

Comparison of list2 with list1 :  1
Comparison of list2 with list3(larger size) :  -1
Comparison of list4 with list1(equal) :  0

Caso 2: cuando la lista contiene varios tipos de datos.
El caso cuando más de un tipo de datos, por ejemplo. string está contenida en la string, la string se considera mayor que el entero, de esta manera, todos los tipos de datos se ordenan alfabéticamente en caso de comparación. La regla del tamaño permanece intacta en este caso.

 
Código #2: Demostración de cmp() usando múltiples tipos de datos.

# Python code to demonstrate 
# the working of cmp()
# multiple data types
  
# initializing argument lists
list1 = [ 1, 2, 4, 10]
list2 = [ 1, 2, 4, 'a']
list3 = [ 'a', 'b', 'c']
list4 = [ 'a', 'c', 'b']
  
  
# Comparing lists 
# prints 1 because string
# at end compared to number
# string is greater
print "Comparison of list2 with list1 : ",
print cmp(list2, list1)
  
# prints -1, because list3
# has an alphabet at beginning
# even though size of list2
# is greater, Comparison
# is terminated at 1st
# element itself.
print "Comparison of list2 with list3(larger size) : ",
print cmp(list2, list3)
  
# prints -1 as list4 is greater than
# list3
print "Comparison of list3 with list4 : ",
print cmp(list3, list4)

Producción:

Comparison of list2 with list1 :  1
Comparison of list2 with list3(larger size) :  -1
Comparison of list3 with list4 :  -1

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *