Я пытался заполнить список таким образом, чтобы, если для другого списка, содержащего логическое значение с индексом j, было значение True, я выполнял операцию (простое регулярное выражение) для другого списка, иначе решил (неявно) передать.
import re
maskNan = [True, True, False, True, False]
stringList = ['foo.abc','foo.def','foo.ghi','foo.jkl']
filteredNames = [re.findall(r'foo.(\w+)', i)[0] if j for i,j in zip(columnHeaders,maskNaN)]
Это дает мне SyntaxError: invalid syntax
в конце для
, в то время как это прекрасно работает
justNames = [re.findall(r'foo.(\w+)', i)[0] for i in columnHeaders]
, давая
['abc','def','ghi','jkl']