鱼C论坛

 找回密码
 立即注册
查看: 1556|回复: 6

[已解决]关于元组的一个问题,请教老司机们解答解答

[复制链接]
发表于 2017-3-6 18:15:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
QQ截图20170306181249.jpg



嘴上说不要 身体很诚实

在此先谢过
最佳答案
2017-3-7 01:34:00
我的理解是a[1]是列表类型,先处理了列表的加法后,这是被允许的,然后再处理元组,发现值被改变,抛出异常。
要么是python的bug,要么就是元组本身可以改变值,只是会抛出异常导致值无法被改变,楼主的处理比较特殊,应该是先处理列表,再处理元组
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-6 19:09:31 From FishC Mobile | 显示全部楼层
元组应该是不支持单独改变元组中的某一个值的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-6 19:45:06 | 显示全部楼层
tuple 不可以被改变
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-6 22:14:22 | 显示全部楼层
看不透
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-7 01:34:00 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
我的理解是a[1]是列表类型,先处理了列表的加法后,这是被允许的,然后再处理元组,发现值被改变,抛出异常。
要么是python的bug,要么就是元组本身可以改变值,只是会抛出异常导致值无法被改变,楼主的处理比较特殊,应该是先处理列表,再处理元组
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-9 11:30:08 | 显示全部楼层
看懂楼主发的了。我觉得可能是bug吧,照常来说,元组是不能够被改变的啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-15 05:54:10 | 显示全部楼层
本帖最后由 Mouser 于 2017-3-15 05:55 编辑

我大概明白了
最近系统的学习了下
应该是这样的

不管是列表还是元组,都是一些对象地址集合

只要元组元素地址没发生变化,python应该就判断元组没有发生变化
比如这里下标为2的元素是一个列表[3, 678],其实对这个列表append是不会改变列表首地址的
但是如果采用下标去修改元组,比如
t[2] = [12, 56, 78]
这样就相当于t[2]重新指向了一个地址
这是python对于元组不允许发生的事
QQ截图20170315054911.jpg
QQ截图20170315054928.jpg

这应该是最佳答案 谢谢我自己


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-23 00:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表