В моем текущем коде, у меня есть следующая строка, где to_remove
представляет собой наборИспользование списка понимание для повторного вызова функции в Python
[to_remove.update(b) for b in some_set if all(a <= b for a in some_dict)]
Хотя это работает, это беспокоит меня немного, так как это создает список None
который не используется. Считается ли это не стандартным? Есть ли лучший способ сделать это?
Update:
Поскольку было указано, что список понимание исключительно побочный эффект не является хорошим, я изменил мой код
to_remove.update(itertools.chain.from_iterable(
b for b in some_set if all(a <= b for a in some_dict))
Побочные эффекты внутри списка понимания являются необычный и неожиданный, что делает их очень плохой идеей. Следует избегать всякого, что смущает людей и имеет более простую реализацию. –
Обычный для цикла и оператора if? –
Вы должны сделать это так: 'to_remove.update ([b для b в some_set if all (a <= b для a в some_dict)]) – Elmex80s