Dada una lista, escriba un programa en Python para comprobar si todos los elementos de esa lista son idénticos.
Ejemplos:
Input : ['a', 'b', 'c'] Output : False Input : [1, 1, 1, 1] Output : True
Enfoque n.º 1: uso del bucle
Inicie un bucle for y compruebe si el primer elemento es idéntico a todos los demás elementos de la lista. Este enfoque tiene una complejidad de tiempo O(n).
# Python3 program to check if # all elements in a list are identical def check(list): return all(i == list[0] for i in list) # Driver code print(check(['a', 'b', 'c'])) print(check([1, 1, 1]))
False True
Enfoque n.º 2: usar el conjunto La
conversión de una lista dada en un conjunto elimina todos los elementos duplicados. Si el tamaño del conjunto resultante es menor o igual a 1, la lista contiene todos los elementos idénticos.
# Python3 program to check if # all elements in a list are identical def check(list): return len(set(list)) <= 1 # Driver code print(check(['a', 'b', 'c'])) print(check([1, 1, 1]))
False True
Enfoque n.º 3: uso count()
Al contar el número de veces que aparece el primer elemento en la lista, podemos verificar si el conteo es igual al tamaño de la lista o no. En palabras simples, verifique si el primer elemento se repite en toda la lista o no.
# Python3 program to check if # all elements in a list are identical def check(list): return list.count(list[0]) == len(list) # Driver code print(check(['a', 'b', 'c'])) print(check([1, 1, 1]))
False True
Enfoque n.º 4: método alternativo
Otro método es tomar el primer elemento y multiplicarlo por la longitud de la lista dada para formar una nueva lista, de modo que la nueva lista contenga elementos idénticos a los primeros elementos del tamaño de lista dado, y luego compararlo con la lista dada.
# Python3 program to check if # all elements in a list are identical def check(x): return x and [x[0]]*len(x) == x # Driver code print(check(['a', 'b', 'c'])) print(check([1, 1, 1]))
False True
Enfoque n.° 5: Uso de segmentos extendidos
La notación de segmento de Python se utiliza para recuperar un subconjunto de valores. Por lo tanto, comparamos el principio al final de la lista con el final al principio de la lista.
# Python3 program to check if # all elements in a list are identical def check(list): return list[1:] == list[:-1] # Driver code print(check(['a', 'b', 'c'])) print(check([1, 1, 1]))
False True
Publicación traducida automáticamente
Artículo escrito por Smitha Dinesh Semwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA