列表理解和循环之间的区别

时间:2021-05-06 14:50:52

标签: python loops list-comprehension

mag=[]
for i in nbn:
    for j in range(1,i+1):
        if i%j==0:
            mag.append(j)

一开始它是我代码的一部分,然后为了优化我的代码,我用另一个列表理解替换了它,但它给了我不同的输出。

mag=[i for i in numbers_before_n  for j in range(1,i+1) if i%j==0]

这两种循环有什么区别?

1 个答案:

答案 0 :(得分:3)

在您的案例列表推导中返回 i 但您想要 j

mag=[j for i in numbers_before_n  for j in range(1,i+1) if i%j==0]
相关问题