如何翻译这个列表理解语句?

How to translate this list comprehension statement?

我正在尝试理解以下代码:

for page in iterate_PR:
    p2 = [link for link in corpus if page in corpus[link]]

我的想法是,如果以长格式编写,代码应如下所示:

for page in iterate_PR:
    for link in corpus:
        if page in corpus[link]:
            p1.append(link)

但是,当我打印 p1 和 p2 时,我得到的结果不同。我哪里错了?

这是放大版:

p2 = []
for page in iterate_PR:
    for link in corpus:
        if page in corpus[link]:
            p2.append(link)

代码附加到 p1 而不是 p2!

for page in iterate_PR:
    p2 = []
    for link in corpus:
        if page in corpus[link]:
            p2.append(link)

正如 python_learner 在他的回答中提到的,p2 为每一页重置。

可以表示为:

for page in iterate_PR:
    p2 = []
    for link in corpus:
        if page in corpus[link]:
            p2.append(link)