【发布时间】:2020-01-18 02:53:13
【问题描述】:
我在测试一段对列表进行排序并返回排序后的索引的代码时遇到了 pdb 的一个不寻常的错误/功能。
mylist = [280, 275]
sorted_inds = sorted(range(len(mylist)), key=lambda i: mylist[i])
这在常规 python 中运行良好,返回 [1, 0]。
但是当我在pdb 中尝试时,我得到了NameError:
*** NameError: name 'mylist' is not defined
这似乎是因为lambda 函数看不到/无权访问先前定义的列表mylist。
我正在寻找进一步了解为什么会这样。为什么它在普通 Python 中可以工作,而在调试器中却不行?调试器中处理变量的方式有什么不同?
【问题讨论】:
标签: python python-3.x pdb