Answer to your first question: Your code is perfectly fine and it should work if the variable item equals one of the elements inside your list which is myList. It maybe possible that you try to find a string that does not exactly match one of the items or maybe you are using a float value which suffers from inaccuracy.
Now coming back to your second question, so there are a lot of ways to finding things in a list some important ways I am discussing here:-
The first thing you can do is check if something is inside the list or not:-
So you can describe this by checking whether something is inside a list or not. To check whether something is inside the list or not that you can use the in operator.
E.g:-
3 in [1, 2, 3]
Another thing you can find something in the list by Finding the first occurrence of that thing:-
To check the first thing that matches a condition (but you don't know what it is yet), it's fine to use a for loop (possibly using the else clause as well, which is not really well-known).
For that you can also use the below-mentioned method:-
next(x for x in my_list if ...)
The above code will return the first match or raise a StopIteration if none is found.