python - 如何在调试器中的 python 2.7 中创建带有两个 for 循环的单行脚本

标签 python pdb django-shell

在 python 调试器或 django shell 中创建单行 for 循环很容易:

>>>> for x in (1,2,3,4):print(x);
>>>> for x in Obj.objects.all():something(x);

但是我怎样才能在那里得到第二个 for 循环呢?

>>>> for x in (1,2,3,4):print x;for y in (5,6):print x,y;
SyntaxError: invalid syntax

我很在意,因为在交互工作时,使用向上箭头编辑前面的命令很好(这不是在任何其他上下文中使用单行命令的尝试)。

注意:“打印”只是一个例子。在实际使用中,我会迭代对象或执行其他编程或调试任务,例如“for s in Section.objects.all():for j in s.children():print j”。我正在使用 Python 2.7。

最佳答案

对于列表推导式无法做到的时代

for x in (1,2,3,4):print x;exec("for y in (5,6):print x,y;")

for s in Section.objects.all():exec("for j in s.children():print j")

有时你可以像这样使用itertools.product(但是没有办法得到print x)

for x, y in itertools.product((1,2,3,4), (5,6)):print x,y)

关于python - 如何在调试器中的 python 2.7 中创建带有两个 for 循环的单行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19510477/

相关文章:

python - 如何将子流程的结果放入变量中

Windows 的 Python Curses 不会覆盖字符串

java - C# 中的 "*.PDB"文件在 Java 中的等价物是什么?

python - 如何 "denormalize"数据框/从许多二进制列中创建一列

python - 如何将 pdb 注入(inject)失败的 Python 脚本?

python - 当一条线上有多个停止点时,python何时在一条线上停止?

django - 删除在特定字段中具有重复值的 Django QuerySet 对象

python - Django Shell API KeyError

Python:按半径对从 cv2 HoughCircles 返回的圆进行排序