【问题标题】:combine results of multiple python scripts in one statement在一个语句中组合多个 python 脚本的结果
【发布时间】:2013-06-02 15:11:27
【问题描述】:

我有大约 4 个不同的 Python 脚本,它们都返回一个字典列表。我想组合所有脚本的结果,然后将其打印到控制台,但如果可能的话,我想将它们组合在一行代码中。这是我正在尝试做的错误尝试..(对 main 的每次调用都会返回一个生成器对象)

from Parsers import ctd, test1, test2


def main():
    results = ctd.main() + ctd.test1() + ctd.test2()

    for i in results:
        print i


if __name__ == '__main__':
    main()

任何指导将不胜感激!

谢谢!

【问题讨论】:

    标签: python generator yield


    【解决方案1】:

    使用itertools.chain 将多个可迭代对象(在您的情况下为生成器)的结果连接在一起:

    for i in itertools.chain(ctd.main(), ctd.test1(), ctd.test2()):
        print i
    

    【讨论】:

    • 这正是我想要的。我有办法让它在没有它的情况下工作,但它似乎有点笨拙。这好多了!
    猜你喜欢
    • 1970-01-01
    • 2012-12-10
    • 2011-02-16
    • 2017-08-22
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    相关资源
    最近更新 更多