繁体   English   中英

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

[英]Debug list comprehension inside for loop in Pycharm

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

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循环时,出现以下错误:

追溯(最近一次通话最后一次):文件“ /root/pycharm/helpers/pydev/_pydevd_bundle/pydevd_exec2.py”,第3行,在Exec exec(exp,global_vars,local_vars)中,在文件“”,第2行,在文件“” ,NameError中第2行:未定义名称'x'

我正在使用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)

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

几天前,我遇到了同样的错误,而我所做的只是从调试控制台中单击“ Remove All Watches ,这要归功于此PyCharm引用了较早的已删除变量问题。 右键单击“ Variables部分,然后单击“ Remove All Watches然后重新运行调试过程。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM