发生这种情况是因为(大多数)列表理解是在嵌套作用域中评估的,并且在pdb中创建的嵌套作用域无法访问被检查作用域的局部变量。但是,它们可以访问全局变量,并且当您在打开Python之后立即启动pdb时,您正在全局范围内运行它,因此
abc您创建的是全局变量。
exec在类声明中和列表声明中的列表推导也会发生这种情况。不幸的是,没有比“不在那里使用列表推导”更好的解决方法。

发生这种情况是因为(大多数)列表理解是在嵌套作用域中评估的,并且在pdb中创建的嵌套作用域无法访问被检查作用域的局部变量。但是,它们可以访问全局变量,并且当您在打开Python之后立即启动pdb时,您正在全局范围内运行它,因此
abc您创建的是全局变量。
exec在类声明中和列表声明中的列表推导也会发生这种情况。不幸的是,没有比“不在那里使用列表推导”更好的解决方法。