在python中添加for循环中的列表可变性

我是在for循环上下文中列表可变性的概念的新手。

有人可以解释为什么以下代码的输出为空列表吗?

I would expect L3 = [3,4].

谢谢!

L1 = [1,2,3,4]
L2 = [1,2,5,6]

def no_dups(L1, L2):
    L3 = []
    for e in L1:
        if e not in L2:
            L3.append(e)
    return(L3)

print(L3)
评论
  • 不讨囍i
    不讨囍i 回复

    The last line print(L3) does not even call no_dups function. It throws an expection because L3 is not defined outside of function.

    可能您的意思是:

    L3 = no_dups(L1, L2)
    print(L3)
    

    在这种情况下,您确实可以获得预期的结果。