Python的元组会改变吗?

a = ([1],[2,4],[7])
a[1][0] = 5
请问这样会报错吗,元组会改变吗?

元组不可改变,指的是元组本身的元素不可改变
比如
a[1]=[]
你把它赋值成一个新的列表,这种操作是不允许的
而你改变它里面list里的元素,是可以的,因为list本身是可变值类型
也就是说,元素的元素不是我的元素
此外,你拿不定主意的时候,随便开个IDE把代码放进去测试一下就知道了
原理性的问题可以问,是非问题就别问了,否则有人说行有人说不行,那到底行不行你还是判断不了
你电脑上如果没有IDE,有的是在线编译网站,都可以拿来测试

Python的元组是不可变的。在上面的代码中,你试图更改元组中的一个列表,而不是元组本身。尝试更改元组中的对象可能不会导致错误,但它们实际上并未更改,因为元组不可变。

若要更改元组中的值,你可以将其转换为列表,然后进行更改,最后再将其转换回元组。例如:

a = ([1],[2,4],[7])
a = list(a)
a[1][0] = 5
a = tuple(a)

如果答案有帮助 请帮我点个采纳 谢谢妳

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇文章:Python全栈(一)基础之8.Python数据结构-元组和字典 也许能够解决你的问题,你可以看下
  • 你还可以看下python参考手册中的 python- 元组和序列
  • 除此之外, 这篇博客: Python 中数据的处理(元组) ——(一)中的 ,但是有的时候字符串的规模过于庞大的时候,我们想要查找我们需要的数据的时候,又不知道如何处理时,这个时候要怎么 办的呢?(用元组存放数据) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    这个时候需要我们找一个容器来存放这些数据,所以 元组就是这样的存储容器,下面我们看看如何定义一个元组

    先看下面的程序,这样我们就定义好了一个元组

     tuple = (10,200)

    元组是 Python 中特有的,和大多数编程语言一样,元组也可以类比 C 语言中的数组,元组的第一个元素是从0开始的,也就是代表第一个元素,我们来看看交互式模式中看看这个程序

    元组不仅支持数字, 还支持字符串的输入呢!

    mytuple = (10,"awesome")
    print(mytuple[0])
    print(mytuple[1])

     相必你也猜到了,程序会分别输出 10 和 awesome,但是问题来了

     


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^