input = "foo ,,bar ,baz,"
tags = [x.strip() for x in input.split(',') if len(x.strip()) > 0]
Желаемый результат, очевидно, является списком, в котором нет пустых строк.Можете ли это выражение понимания списка Python быть упрощенным?
Вопрос в духе микро оптимизации; есть ли способ не strip()
кандидат x
дважды, то есть один раз для теста и один раз для добавления?
Чтобы перефразировать, вы можете создать значение в выражениях, которые могут быть добавлены в список, без выполнения работы дважды?
Я предполагаю, что нет. Либо это делается для вас (если .strip() кэширует свой результат, который, как я думаю, не будет), или вам нужно будет указать, что вам нужна промежуточная переменная. –