Either:
any([val in ('dog', 'cat', 'parrot') for val in ['dog', 'bone']])
For actual usage, don't declare the lists and tuples inside the comprehension, as it will waste resources for no reason, you should:
test_list = ['dog', 'bone']
available_items = ('dog', 'cat', 'parrot')
any([val in available_items for val in test_list])
Another possible solution:
set(['dog', 'bone']).intersection(set(('dog', 'cat', 'parrot'))) # Would return a non empty set if there is an intersection, which translates to true.
# Use case:
if set(['dog', 'bone']).intersection(set(('dog', 'cat', 'parrot'))):
print('intersection!')