Python 中元组是否可以被修改?

文章目录


案例解析

我们在创建元组时,按正常来说是不可以被修改的,如下所示:

i=('hello world',520,[1314])
i[1]=888
print(i)

可以看到输出结果报错,如下
在这里插入图片描述

但是,当我做以下更改时,发现元组中的列表可以修改元素的

i=('hello world',520,[1314])
i[2][0]=2
print(i)

#输出结果
('hello world', 520, [2])
i=('hello world',520,[1314])
i[2].append(4)
print(i)

#输出结果
('hello world', 520, [1314, 4])

也发现元组中的字典可以修改,这里用的是引用

i=('hello world',520,[1314],{'name':'zhangsan','age':'18'})
x=i[3]
x['hobby']='games'

print(i)

#输出结果
('hello world', 520, [1314], {'name': 'zhangsan', 'age': '18', 'hobby': 'games'})

那么元组中的字符串是否可被修改呢

i=('hello world',520,[1314],{'name':'zhangsan','age':'18'})
i[0]='hello'
print(i)

可以看到直接报错,无法进行修改

在这里插入图片描述

总结

元组是一种序列,它支持序列的基本操作,包括索引、切片、序列加、序列乘、in、len()、max()、min()。元组不可修改,指的是元组中每个元素的指向永远不变。

元组和列表的区别

① 第一个不同点是元组的声明使用小括号,而列表使用方括号,当声明只有一个元素的元组时,需要在这个元素的后面添加英文逗号;
② 第二个不同点是元组声明和赋值后,不能像列表一样添加、删除和修改元素,也就是说元组在程序运行过程中不能被修改。

用于列表的排序、替换、添加等方法也不适用于元组,适用于元组的主要运算有元组的合并、遍历、求元组的最大值和最小值等操作方法。

所以说元组的元素不能被修改,但是元组的元素的元素如果是可被修改的,那元组的元素的元素就可以被修改。
通俗一点来说就是,上面元组中的字符串、int数字、或者有集合时,他们本身是不可被修改的,所有不支持对他们做改变,但是列表和字典本身是可修改的,所以我们能对元组中的列表和字典做操作。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

头发莫的了呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值