>>> from pyparsing import Word, alphanums, OneOrMore, Optional, Suppress
>>> var = Word(alphanums)
>>> reg = OneOrMore(var('predictors') + Optional(Suppress('+'))) + '~' + OneOrMore(var('covariates') + Optional(Suppress('+')))
>>> string = 'y1 ~ f1 + f2 + f3'
>>> reg.parseString(string)
(['y1', '~', 'f1', 'f2', 'f3'], {'predictors': ['y1'], 'covariates': ['f1', 'f2', 'f3']})
Он может правильно анализировать, но я не могу получить все значения predictors
и covariates
.Кажется, только последнее значение сохраняется:
>>> results = reg.parseString(string)
>>> results.covariates
'f3'
>>> results['covariates']
'f3'
Я хотел бы получить все значения в predictors
и covariates
в виде списков.Есть идеи, почему это происходит?