python - 在 Pycharm 中的 for 循环内调试列表理解

标签 python python-3.x debugging pycharm list-comprehension

我正在尝试调试包含循环内列表理解的代码片段。

list_a = ['a', 'b', 'c']
list_b = ['a', 'b']
for x in list_a:
    print([i for i in list_b if i == x])

当我运行整个脚本时,代码运行正常。但是,当我在 for 循环之前找到断点并尝试以交互方式运行 for 循环时,出现以下错误:

Traceback (most recent call last): File "/root/pycharm/helpers/pydev/_pydevd_bundle/pydevd_exec2.py", line 3, in Exec exec(exp, global_vars, local_vars) File "", line 2, in File "", line 2, in NameError: name 'x' is not defined

我正在使用 pycharm 进行调试。

最佳答案

调试列表理解的最佳方法是使用简单的 for 循环:

来自:

[i for i in list_b if i == x]

使用:

for x in list_a:
    costum_list = []
    for i in list_b:
        if i == x:
            costum_list.append(i)
    print(costum_list)

但我只是运行你的代码,似乎一切都很好

关于python - 在 Pycharm 中的 for 循环内调试列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57303464/

相关文章:

python - jinja2.exceptions.UndefinedError - 没有属性 'favicon.ico'

python - 使用正则表达式查找 1 个字母和 2 个数字

python - 在堆栈跟踪中打印函数的参数值

python - subprocess.call cd 不工作

python - pytest 在测试之间泄漏 attrs 对象

python - 我如何使用 setuptools 或 distutils 来分发脚本而不是 Python 包?

python - 如何在Python3中使用opencv从文件缓冲区中读取文件

android - 在设备上运行 Android systrace

linux - 警告 : GDB: Failed to set controlling terminal: Invalid argument

python - 显示调用特定方法的行