Reputation: 17402
There are 2 list
a= [1,2,3]
b = [1,2,3]
Now I want to check whether an element from a
exist in b
or not in python one-liner.
I can use loop on a
and then check if it exist in b
or not. But I want something pythonic way (one-liner).
Upvotes: 4
Views: 5451
Reputation: 2619
I think you should use sets. This is the way you can do it:
def check_element(a, b):
return not set(a).isdisjoint(b)
Upvotes: 3
Reputation: 4079
bool(set(a)&set(b))
converts a
and b
into sets and then applies the intersection operator (&
) on them. Then bool is applied on the resulting set, which returns False
if the set is empty (no element is common), otherwise True
(the set is non-empty and has the common element(s)).
Without using sets: any(True for x in a if x in b)
. any()
returns True if any one of the elements is true, otherwise False.
Upvotes: 7