小议list,tuple,dict,set对象的可变性

Python中数据结构list,tuple,dict,set等类型是我们定义、调用对象的基石,因其对象的可变性我们灵活选择使用哪一种数据结构。今天我们来小议一下可变对象与不可变对象在互相嵌套时候会发生什么“化学反应”。




# tuple是不可变对象,那么其是否可以存储可变对象呢?


显然,list、tuple、set均可以作为tuple的元素,其中list为可变对象。那么我们现在来改变list元素试一试,看tuple会有什么变化。


由此可知,tuple作为不可变对象,我们同时可以在里面放置可变对象。我们可以充分利用这一点来实现tuple的元素可更改,达到自己的使用数据的目的。


# set的性质是否如tuple一样呢?


set不能以list为元素,甚至也不能以set为元素。



但是set可以储存tuple,既然tuple可以以list为元素,我们放置含有list元素的tuple进set试一试:


显然不行,T已经作为s的元素,我们甚至不能更改T的内容,直接报错。我们自己可以试一试,先另外定义一个含有list的tuple,然后再实验。

所以我们得出结论set内的元素绝对不容可变元素。


以上是自己的一些考虑,大家批评指正,同样可以多动手,把数据类型玩弄得更熟练一些。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值