我正在阅读 tuple
:
一旦创建,元组的值就不能改变。
如果你想一次分配多个变量,你可以使用元组:
> name,age,country,career = ('Diana',32,'Canada','CompSci') > print(country) > > ``` 我做了这个..
country = ‘India’ print(country) “`
它被修改了。怎么来的?
原文由 Shri 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在阅读 tuple
:
一旦创建,元组的值就不能改变。
如果你想一次分配多个变量,你可以使用元组:
> name,age,country,career = ('Diana',32,'Canada','CompSci') > print(country) > > ``` 我做了这个..
country = ‘India’ print(country) “`
它被修改了。怎么来的?
原文由 Shri 发布,翻译遵循 CC BY-SA 4.0 许可协议
以下代码片段可能有助于理解原因。 Here, name
, age
, country
and career
are single variables and therefore can be modified.
t = (name, age, country, career) = ('Diana',32,'Canada','CompSci')
print(t) # ('Diana', 32, 'Canada', 'CompSci')
print(country) # Canada
country = 'India'
print(t) # ('Diana', 32, 'Canada', 'CompSci')
print(country) # India
t[2] = 'India'
# The error occurs as expected
TypeError: 'tuple' object does not support item assignment
原文由 SparkAndShine 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答987 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
您使用元组的方式只是在一行中将单个值分配给单个变量。这不会将元组存储在任何地方,因此您将剩下 4 个具有 4 个不同值的变量。当您更改 country 的值时,您更改的是这个单个变量的值,而不是元组的值,因为字符串变量在 python 中是“按值调用”的。
如果你想存储一个元组,你可以这样做:
然后您可以通过索引访问这些值:
编辑:我忘了提到的是元组是不可变的,所以你可以访问这些值,但你不能像使用数组那样设置它们。你仍然可以这样做:
但是这些值将是元组的副本——所以改变这些不会改变元组。