用print解包元组
第二次解包在打印时不工作,是什么原因呢?
for a in stok.iteritems():
... c, b = a
... print c, b
这个是有效的
但是这个就不行
for a in stok.iteritems():
... print c, b = a
4 个回答
1
这句话听起来有点不太合理。你想要的是
for a in stok.iteritems():
... print a
你不能在打印的时候混合赋值……你为什么会觉得这样可以呢?是在发明新的语法吗?
6
你不能在打印语句里直接进行赋值(比如 a = b)。因为赋值和打印都是独立的操作,所以它们需要分开来做。
如果这样说更清楚的话,你可以这样写:for c, b in stok.iteritems():
。
2
原因是 c, b = a
是一个 语句,而不是 表达式(也就是说,它执行某些操作,但没有返回值),所以你不能直接打印它。