在python中比较元组

时间:2016-08-19 11:23:39

标签: python compare tuples

我有简单的代码:

>>> a = ('1', '2', '3', '4', '5')
>>> b = ('2', '6')
>>> 
>>> def comp(list1, list2):
...     for val in list1:
...         if val in list2:
...             return True
...     return False
... 
>>> print comp(a, b)
True

请帮助我理解为什么我会收到" True"?我怎样才能找到两个元组之间的完全匹配?

谢谢。

2 个答案:

答案 0 :(得分:1)

语句return语句退出函数,可选择将表达式传递给调用者。

所以,如果你写:

a = ('1', '2', '3', '4', '5')
b = ('6', '2')

def comp(list1, list2):
    for val in list1:
        if val in list2:
            return True
    return False
print comp(a, b)

答案是False。 所以解决方案:

a = ('1', '2', '3', '4', '5')
b = ('2', '3')

def comp(list1, list2):
    for val in list1:
        if val not in list2:
            return False
    return True

print comp(b, a) # This will written True 
print comp(a, b) # This will written False

答案 1 :(得分:0)

您应该稍微更改一下代码。愿这会有所帮助。

def comp(list1, list2):
    for val in list1:
        if val not in list2:
            return False
    return True