我有简单的代码:
>>> 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"?我怎样才能找到两个元组之间的完全匹配?
谢谢。
答案 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