我怎样才能以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)
所以问题解决了,我确保下次不要在调试器中尝试新的东西。但为什么它不起作用呢?
答案 0 :(得分:2)
您的问题是变量名称。 pdb中的a
和c
为commands。具体来说,它们适用于continue
和args
。通过更改这些变量名称,它将起作用。
>>> import pdb
>>> pdb.set_trace()
--Return--
> <stdin>(1)<module>()->None
(Pdb) x=(1,2,3)
(Pdb) first,second,third=x
(Pdb) print(first)
1