[Solved] What does “equals to negative 1” mean in Python?


From the str.find() method documentation:

Return -1 if sub is not found.

So the first if condition tests if string1 is found in x; if it is, a value other than -1 would be returned. The second if condition tests if two strings are not present in x (because only then -1 is returned for both str.find() calls).

It really should use a membership test (the in operator) instead:

if 'string1' in x and 'string2' not in x and 'string3' not in x: 
    return file

The break after the return is never reached.

0

solved What does “equals to negative 1” mean in Python?