有人可以解释这个Python代码结构吗?

时间:2018-01-14 12:01:06

标签: python

我有一个包含以下代码的程序:

    coros = [
        get_book(pair, session)
        for pair in PAIRS
    ]

这怎么不给出语法错误?或者,如果你在列表中执行for循环,你必须将函数放在for语句之前吗?我从来没有见过这个,但它在程序中到处都是。

1 个答案:

答案 0 :(得分:0)

它是以非标准方式编写的list comprehension。通常写的方式是:

[get_book(pair, session) for pair in PAIRS]

它相当于:

array = []
for pair in PAIRS:
    array.append(get_book(pair, session))