2014-11-03 4 views
19

In Java haben wir , ich ähnliche Struktur in Python benötigen enthält wie unten zu verwenden:Enthält von HashSet <Integer> in Python

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

Könnten Sie bitte helfen?

+1

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

+1

so 'wenn x in S 'bedeutet enthält? –

+0

Ja! Du hast Recht ! – StackFlowed

Antwort

26

Verwenden Sie einfach einen Satz:

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

Das gleiche funktioniert für Listen:

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

Die Komplexität für die Suche nach einem Element in Listen und Tupeln ist O (n), wobei O (1) in Mengen und Wörterbüchern steht. Daher bevorzuge die ehemalige – bholagabbar

+11

@bholababbar Daher lieber die letztere * – sloreti

+1

@sloreti: Danke für das hinweisend. SO lässt mich meinen Kommentar nicht bearbeiten. Auch, nur als eine Notiz, wird es * amortized * O (1) in Sets und Wörterbücher – bholagabbar