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]
这两种循环有什么区别?
答案 0 :(得分:3)
在您的案例列表推导中返回 i
但您想要 j
:
mag=[j for i in numbers_before_n for j in range(1,i+1) if i%j==0]