2015-12-26 18 views

Trả lời

12

Bạn có thể sử dụng set.issubset hoặc set.issuperset để kiểm tra xem mọi phần tử trong một bộ hoặc danh sách có nằm trong một bộ khác hay không.

>>> tuple1 = (1, 2) 
>>> tuple2 = (1, 2, 3, 4, 5) 
>>> set(tuple1).issubset(tuple2) 
True 
>>> set(tuple2).issuperset(tuple1) 
True 
-1

Một giải pháp thay thế khác là tạo một chức năng đơn giản khi thiết lập không lưu ý.

def tuple_containment(a,b): 
    ans = True 
    for i in iter(b): 
     ans &= i in a 
    return ans 

Bây giờ chỉ cần kiểm tra chúng

>>> tuple_containment ((1,2,3,4,5), (1,2)) 
True 
>>> tuple_containment ((1,2,3,4,5), (2,6)) 
False 
+2

OP đã đề cập rõ ràng "Không có vòng lặp". * một dòng * – styvane

+0

Và tôi đã đề cập rõ ràng rằng của tôi là khi _obvious không đến với mind_ –

+0

'tuple_checker' làm gì? Kiểm tra bình đẳng, ngăn chặn, hoặc chỉ cho dù họ là tuples? –

0

Tôi nghĩ rằng bạn muốn điều này: (Sử dụng all)

>>> all(i in (1,2,3,4,5) for i in (1,6)) 
True 
Các vấn đề liên quan