考虑以下几点:令人费解的“‘元组’对象不支持项目分配”错误
>>> t = ([],)
>>> t[0].extend([12, 34])
>>> t
([12, 34],)
>>> t[0] += [56, 78]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> t
([12, 34, 56, 78],)
>>>
据我了解,元组是不可改变的,但在LHS的项目不是一个元组!(事实上预期的分配实际上是成功的,尽管如此,错误消息却使整个场景变得更奇怪)。
为什么这种行为不被视为一个错误?
为什么人们在使用Python常见问题解答之前总是问一个问题?在常见问题解答中,您将得到一个经过多方核心开发人员推理,精心编写和审核的答案,并经受住了时间的考验。就这样,你会得到一个答案,即有人在5分钟内一起打,在接下来的5分钟内重复编辑,然后放弃其余时间。你不喜欢前者吗? – abarnert
@abarnert,因为有无数的方法来问一个问题,而google/stackoverflow结果的捕获远远超过搜索python.org。 SO投出了最广泛的问题网络,当它失败时,问一个问题通常会得到快速反应和积分的回报。在很多情况下,其他更好的资源都与之相关联,因此人们将被指向最佳答案来源。 – dansalmo