Ho una classe contenente un elenco di stringhe. Di ':Come garantire che l'elenco contenga elementi univoci?
ClassName:
- list_of_strings
Ho bisogno di far rispettare questo elenco di stringhe che contiene elementi unici. Sfortunatamente, non posso modificare questo list_of_strings in un altro tipo, come un set.
Nella funzione addToList(str_to_add)
, voglio garantire l'unicità della stringa. Come posso fare meglio questo? Sarebbe utile aggiungere la stringa aggiunta all'elenco, convertirla in un set, quindi tornare a un elenco e quindi riassegnarlo all'oggetto?
Ecco il metodo che ho bisogno di aggiornare:
def addToList(self, str_to_add):
self.list_of_strings.append(str_to_add)
Grazie!
* Perché * non è possibile utilizzare un set? Sembra essere il tipo di dati appropriato qui. –
L'elenco può essere ordinato? Se è così, allora puoi usare una ricerca binaria. Altrimenti, sei bloccato con un algoritmo di ordine lineare, quindi la conversione in un set potrebbe essere la cosa più semplice se la velocità assoluta non è un requisito. – chrisaycock
Presumibilmente vuole conservare l'ordine, oppure c'è già un codice che si aspetta un elenco ordinato piuttosto che un set. Un set ordinato o un elenco univoco è un tipo di dati ragionevole. – bnaul