Tengo una clase que contiene una lista de cadenas. Diga:¿Cómo asegurar que la lista contiene elementos únicos?
ClassName:
- list_of_strings
Necesito forzar que esta lista de cadenas contenga elementos únicos. Desafortunadamente, no puedo cambiar esta list_of_strings por otro tipo, como un conjunto.
En la función addToList(str_to_add)
, quiero garantizar la exclusividad de la cadena. ¿Cómo puedo hacer esto mejor? ¿Sería práctico agregar la cadena que se agrega a la lista, convertirla a un conjunto, luego volver a una lista y luego reasignarla al objeto?
Aquí es el método que necesito para actualizar:
def addToList(self, str_to_add):
self.list_of_strings.append(str_to_add)
Gracias!
* ¿Por qué * no puedes usar un conjunto? Parece ser el tipo de datos apropiado aquí. –
¿Puede la lista estar en orden ordenado? Si es así, entonces puedes usar una búsqueda binaria. De lo contrario, está atascado con algún algoritmo de orden lineal, por lo que la conversión a un conjunto puede ser lo más fácil si la velocidad absoluta no es un requisito. – chrisaycock
Es de suponer que quiere conservar el orden, o ya hay un código que espera una lista ordenada en lugar de un conjunto. Un conjunto ordenado o una lista única es un tipo de datos razonable. – bnaul