в данном случае мы видим слово которое не попадает в фильтр. то есть хоть слово и имеет больше пяти букв но оно имеет нечетное число. что заставляет фильтр не пропускать это слово в список []
в фильтр не попадают числа меньше 5 и которые имеют не четное количество.
все остальные попадают.
в данном случае фильтр работает так:
длина переводит слова в число например :
len("IPSUM")
5
полученое число делится на 5 если поделеное число равно нулю то число заносится в список
if len(s[i]) % 5 == 0:
но если число равно любому другому число то фильтр отсекает пропуск числа в список
вы можете заранее проверить как это работает. введя числа в интерпретатор и увидев результат
11%5
1
10%5
0
5%5
0
4%5
4
3%5
3