2015-12-26 13 views

Odpowiedz

12

Możesz użyć set.issubset lub set.issuperset, aby sprawdzić, czy każdy element w jednej krotce lub liście jest w innym.

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

Inną alternatywą byłoby stworzenie prostej funkcji, gdy zestaw nie przychodzi do głowy.

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

Teraz wystarczy je przetestować

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

OP wyraźnie wspomniano "Nie ma pętli". * jedna linia * – styvane

+0

I wyraźnie wspomniałem, że moje jest, gdy _obvious nie przychodzi do głowy_ –

+0

Co robi 'tuple_checker'? Sprawdź równość, powstrzymanie lub po prostu, czy są to krotki? –

0

Myślę, że chcesz to: (Użyj all)

>>> all(i in (1,2,3,4,5) for i in (1,6)) 
True 
Powiązane problemy