用print解包元组

2 投票
4 回答
666 浏览
提问于 2025-04-16 15:13

第二次解包在打印时不工作,是什么原因呢?

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 是一个 语句,而不是 表达式(也就是说,它执行某些操作,但没有返回值),所以你不能直接打印它。

撰写回答