在PyParsing中,如何对delimitedList设置parseAction以将其转换为Python列表

2024-09-29 21:52:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用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)。你知道吗

如何对结果进行后期处理以使其成为列表?你知道吗


Tags: 字符串from列表stringresultpyparsingx86arm

热门问题