да можно заменить на for или for in 
но этот способ более компактный и я часто встречаю его в коде других библиотек.
чем он плох?