Suppose you have multiple variables declared in Python and want to check if any of them equals a given value. The usual way of doing this is as follows.
x = 5
y = 12
z = 39
if x == 11 or y == 11 or z ==11:
print("value exists in variables")
else:
print("value does not exist in variables")
Code language: Python (python)
But an even more pythonic way of getting the same thing done is as follows.
if 11 in {x,y,z}:
print("value exists in variables")
else:
print("value does not exist in variables")
Code language: Python (python)
In the above code, we are creating a set containing all the variables. And then simply checking whether the value in question is a member of the set or not. This is a more readable and a more pythonic way to check whether a value exists in a given list of variables.
Check whether a value exists in a list in Python
The same notation can also be used to check whether a value exists in a list in Python.
lst = [13,44,56,7]
if 11 in lst:
print("value exists in list")
else:
print("value does not exist in list")
Code language: Python (python)
This works well for small lists. However, if the list is very large, it would be better to convert it into a set, and then do the comparison.
lst = [13,44,56,7]
st = set(lst)
if 11 in st:
print("value exists in list")
else:
print("value does not exist in list")
Code language: Python (python)
That will increase the speed, because in case of list, the program will have to check the value against each variable in the list. But in case of a set, it is a simple hash check, because set is implemented as a hash table in Python.