为什么我不能在pdb中“解包”一个元组?

时间:2014-07-09 13:37:59

标签: python python-2.7 tuples

我怎样才能以pythonic的方式做到这一点?

x = (1,2,3)
a = x[0]
b = x[1]
c = x[2]

我试过这个,但没有用:

a,b,c = x

更新:显然它可以在pdb之外但不在内部。抱歉只在里面尝试。这对我来说并不起作用:

>>> import pdb
>>> pdb.set_trace()
--Return--
> <stdin>(1)<module>()->None
(Pdb) x=(1,2,3)
(Pdb) a,b,c=x
(Pdb) print(a)
*** NameError: name 'a' is not defined
(Pdb)

所以问题解决了,我确保下次不要在调试器中尝试新的东西。但为什么它不起作用呢?

1 个答案:

答案 0 :(得分:2)

您的问题是变量名称。 pdb中的accommands。具体来说,它们适用于continueargs。通过更改这些变量名称,它将起作用。

>>> import pdb
>>> pdb.set_trace()
--Return--
> <stdin>(1)<module>()->None
(Pdb) x=(1,2,3)
(Pdb) first,second,third=x
(Pdb) print(first)
1