2014-11-03 17 views
19

W Javie mamy , muszę podobną strukturę w Pythonie używać zawiera jak poniżej:Zawiera z HashSet <Integer> w Pythonie

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

mógłbyś pomóc?

+1

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

+1

więc 'jeśli X w języku S' oznacza zawiera? –

+0

Tak! masz rację ! – StackFlowed

Odpowiedz

26

Wystarczy użyć zestawu:

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

Te same pracuje dla list:

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

Złożoność wyszukiwania elementu w listach i krotkach będzie O (n) gdzie jak będzie O (1) w zestawach i słownikach. Stąd preferują byłego – bholagabbar

+11

@Bholagabbar Stąd preferują ten ostatni * – sloreti

+1

@sloreti: Dzięki za wskazanie, że na zewnątrz. SO nie pozwala mi edytować komentarza. Również, tak jak w notatce, będzie ona * zamortyzowana * O (1) w zestawach i słownikach. – bholagabbar