Mi chiedevo se esistesse un modo chiaro/conciso per aggiungere qualcosa a un set e controllare se è stato aggiunto senza gli hash 2x & ricerche.Python: come verificare se un elemento è stato aggiunto a un set, senza 2x (hash, ricerca)
questo è quello che si potrebbe fare, ma ha dispone di voce
if item not in some_set: # <-- hash & lookup
some_set.add(item) # <-- hash & lookup, to check the item already is in the set
other_task()
Questo funziona con un unico hash e di ricerca, ma è un po 'brutto 2x hash.
some_set_len = len(some_set)
some_set.add(item)
if some_set_len != len(some_set):
other_task()
C'è un modo migliore per farlo utilizzando l'API di Python?
@PadraicCunningham: il problema è 'other_task()'. – DSM
Forse dovrai implementare la tua classe impostata. – kist
Il metodo 'add' fa già questo test per te, quindi basta chiamarlo. –