2014-11-03 12 views
19

In Java abbiamo , ho bisogno di struttura simile in Python da usare contiene come di seguito:Contiene di HashSet <Integer> in Python

A = [1, 2, 3] 
S = set() 
S.add(2) 
for x in A: 
    if S.contains(x): 
     print "Example" 

La prego di aiutarmi?

+1

https://docs.python.org/2/library/sets.html – StackFlowed

+1

in modo 'se x in S' significa contiene? –

+0

Sì! hai ragione ! – StackFlowed

risposta

26

Basta usare un set:

>>> l = set() 
>>> l.add(1) 
>>> l.add(2) 
>>> 1 in l 
True 
>>> 34 in l 
False 

Le stesse opere per le liste:

>>> ll = [1,2,3] 
>>> 2 in ll 
True 
>>> 23 in ll 
False 
+19

La complessità per la ricerca di un elemento in Liste e Tuple sarà O (n) dove sarà O (1) in Set e Dizionari. Quindi preferisci il precedente – bholagabbar

+11

@bholagabbar Quindi preferisci il secondo * – sloreti

+1

@sloreti: Grazie per averlo indicato. SO non mi consente di modificare il mio commento. Inoltre, come nota, sarà * ammortizzato * O (1) in Set e Dizionari – bholagabbar

Problemi correlati