Python调试器(pdb):它如何访问变量?

Python调试器(pdb):它如何访问变量?,python,python-3.x,pdb,Python,Python 3.x,Pdb,在测试一段对列表排序并返回排序后的索引的代码时,我遇到了pdb的一个不寻常的错误/特性 mylist = [280, 275] sorted_inds = sorted(range(len(mylist)), key=lambda i: mylist[i]) 这在常规python中运行良好,返回[1,0] 但是当我在pdb中尝试时,我得到一个namererror: *** NameError: name 'mylist' is not defined 这似乎是因为lambda函数无法查看/无

在测试一段对列表排序并返回排序后的索引的代码时,我遇到了pdb的一个不寻常的错误/特性

mylist = [280, 275]
sorted_inds = sorted(range(len(mylist)), key=lambda i: mylist[i])
这在常规python中运行良好,返回
[1,0]

但是当我在
pdb
中尝试时,我得到一个
namererror

*** NameError: name 'mylist' is not defined
这似乎是因为
lambda
函数无法查看/无法访问先前定义的列表
mylist


我想进一步了解为什么会出现这种情况。为什么它可以在普通Python中工作,但不能在调试器中工作?在调试器中处理变量的方式有什么不同?

在挖掘了我从2014年发现的一些信息之后。最初,决定不修复此问题,但随后开发了一个补丁来修复此问题。看来这个补丁还没有实现

在bug报告中有一个建议的解决方法