鱼C论坛

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

[已解决]python tuple

[复制链接]
发表于 2017-7-28 12:12:13 | 显示全部楼层 |阅读模式

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

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

x
  1. >>> a = 9
  2. >>> b = 't'
  3. >>> tuple1 = (a,b)
  4. >>> tuple1
  5. (9, 't')
  6. >>> a = 'y'
  7. >>> tuple1
  8. (9, 't')
  9. >>>
  10. >>> a = [0,9]
  11. >>> tuple1
  12. (9, 't')
  13. >>> tuple2 = (a,b)
  14. >>> tuple2
  15. ([0, 9], 't')
  16. >>> a[0] = 'Y'
  17. >>> tuple2
  18. (['Y', 9], 't')
  19. >>>
复制代码


为什么a不是list,改变值,tuple的值也不变?
最佳答案
2017-7-28 15:02:33
事实上,元祖元素是列表的话,值是可以修改的,以上各位的说法都是错的.只是修改的方式比较特殊,毕竟创建元祖产生了新对象,用原变量修改是没用的,必须直接对元祖元素取索引修改
  1. >>> a=[0,9]
  2. >>> tp=a,'t'
  3. >>> tp
  4. ([0, 9], 't')
  5. >>> tp[0][0]=1
  6. >>> tp
  7. ([1, 9], 't')
  8. >>>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-28 12:14:02 | 显示全部楼层
因为tuple的值不可变
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-28 12:14:22 | 显示全部楼层
列表的内容可以改变,元组不能改变
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-28 12:19:34 | 显示全部楼层
新手·ing 发表于 2017-7-28 12:14
列表的内容可以改变,元组不能改变

元组的值不可变,我给元组赋值的时候,是用的变量名啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-28 14:06:58 | 显示全部楼层
元组和列表在实际使用上是非常相似的。
区别:元组不能修改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-28 15:02:33 | 显示全部楼层    本楼为最佳答案   
事实上,元祖元素是列表的话,值是可以修改的,以上各位的说法都是错的.只是修改的方式比较特殊,毕竟创建元祖产生了新对象,用原变量修改是没用的,必须直接对元祖元素取索引修改
  1. >>> a=[0,9]
  2. >>> tp=a,'t'
  3. >>> tp
  4. ([0, 9], 't')
  5. >>> tp[0][0]=1
  6. >>> tp
  7. ([1, 9], 't')
  8. >>>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-28 20:30:13 | 显示全部楼层
只为 发表于 2017-7-28 12:19
元组的值不可变,我给元组赋值的时候,是用的变量名啊

无论你怎么改,改什么,元组都不会被改变
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-11 18:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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