Единственное, что не является пифоническим в вашем коде, это то, что вы не используете 4 пробела для отступа .
«Pythonic» не всегда означает «сжатый»; например, следующее короче, но менее читабельно, чем ваш цикл:
[setattr(e, 'some_attr', some_value) for e in some_list if some_condition]
Итак, придерживайтесь кода, который у вас есть.