我正在尝试使用PyParsing将delimitedString
提取为列表,如下所示:
from pyparsing import *
string = "arm + mips + x86"
pattern = delimitedList(Word(printables), delim="+")("architectures")
result = pattern.parseString(string)
print(dict(result))
问题在于打印
{'architectures': (['arm', 'mips', 'x86'], {})}
是ParseResult
的字符串表示形式。但是,我希望结果是一个Python列表:
{'architectures': ['arm', 'mips', 'x86']}
我已经考虑过使用setParseAction
执行此操作,但我无法弄清楚如何使用该方法的API实现此目的。我实际上想将list()
应用于整个ParseResult
,但setParseAction
函数必须将原始字符串,位置和标记作为输入(参见http://pyparsing.wikispaces.com/HowToUsePyparsing)
如何对结果进行后处理以使其成为列表?