for loop - Understanding any keyword in Python if statements -


i have 2 python list follows:

>>> clean = ['snat2vip', 'http2https'] >>> ugly = ['/common/snat2vip', '/common/http2https'] 

i need iterate through each member of clean , see if exists anywhere in ugly. 'exists', mean present whole or substring in element of ugly.

this came with:

>>> item in clean: ...     if (word in item word in ugly): ...         print "yes" ...     else: ...         print "no" ... yes yes 

works expect.however,if add any,the output changes follows:

>>> item in clean: ...     if any(word in item word in ugly): ...         print "yes" ...     else: ...         print "no" ... no no 

what any change output ?

as boolean value of expression (word in item word in ugly) true returns generator object.

you can check using bool built-in function.

bool(word in item word in ugly) 

so work any built-in function have follow:-

if any(item in word word in ugly): 

instead of:-

if any(word in item word in ugly): 

as word string resides in item string.

>>> 'snat2vip' in '/common/snat2vip' true >>>  >>> '/common/snat2vip' in 'snat2vip' false 

Comments

Popular posts from this blog

How to run C# code using mono without Xamarin in Android? -

c# - SharpSsh Command Execution -

python - Specify path of savefig with pylab or matplotlib -