Спасибо, Пол, вы действительно расширили мое понимание pyparsing в целом.

ользую pyparsing для создания словарей, которые добавляются в список. Когда я делаю это, словари включаются в дополнительный список, а также добавляется пустой словарь. Я понятия не имею, как это исправить. Что я хочу это[{},{},{}], я осознаю[([{}],{})] Почему код из getDict дает мне то, что я хочу, а не getDictParse?

#! /usr/bin/env python
from pyparsing import Literal, NotAny, Word, printables, Optional, Each, Combine, delimitedList, printables, alphanums, nums, White, OneOrMore, Group

noParseList = []
parseList   = []

def getDict():
    return {'duck':'moose','cow':'ewe'}

def getDictParse(str, loc, toks):
    return {'duck2':toks[0],'cow2':'ewe'}

parser = Word(alphanums)
parser.setParseAction(getDictParse)
parseList.append(parser.parseString("monkey"))

noParseList.append(getDict())

print noParseList
print parseList

Выходы:

[{'cow': 'ewe', 'duck': 'moose'}]
[([{'cow2': 'ewe', 'duck2': 'monkey'}], {})]

Ответы на вопрос(1)

Ваш ответ на вопрос