首页 > 解决方案 > 将值重新分配给元组?

问题描述

由于元组是一个不可变对象,以下代码给出了一个错误。

 tup = (1,2,3)
 tup[0] = 3

但是以下代码运行时没有错误

a = 10
b = 20
c = 30
(a,b,c) = (b,c,a)

为什么?

标签: pythontuplesimmutability

解决方案


你正在做的是元组赋值。左侧只是变量的分组,也可以在没有括号的情况下工作。

它类似于:

a, b, c = (b, c, a);

using()不一定总是意味着它是一个元组。()也可以用于对表达式进行分组,这里就是这种情况。


推荐阅读