2014-11-03 24 views
19

Trong Java chúng tôi có , tôi cần cấu trúc tương tự bằng Python sử dụng chứa như dưới đây:Có của HashSet <Integer> bằng Python

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

Ông có thể vui lòng giúp đỡ?

+1

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

+1

nên 'nếu x trong S' có nghĩa là? –

+0

Có! bạn nói đúng ! – StackFlowed

Trả lời

26

Chỉ cần sử dụng một bộ:

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

Các công trình tương tự cho danh sách:

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

Tính phức tạp cho việc tìm kiếm một phần tử trong Danh sách và Tuples sẽ là O (n) trong đó vì nó sẽ là O (1) trong Bộ và Từ điển. Do đó thích các cựu – bholagabbar

+11

@ bholagabbar Do đó thích sau này * – sloreti

+1

@ sloreti: Cảm ơn bạn đã chỉ ra điều đó. SO sẽ không cho phép tôi chỉnh sửa nhận xét của mình. Ngoài ra, cũng giống như một lưu ý, nó sẽ được * khấu hao * O (1) trong Bộ và Từ điển – bholagabbar

Các vấn đề liên quan