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
Post a Comment