为了账号安全,请及时绑定邮箱和手机立即绑定

为什么tuple输出时要用t[0]而不是t()呢?

为什么tuple输出时要用t[0]而不是t()呢?

正在回答

4 回答

t[0]是索引上一个元组的第一个元素,而t()代表的是单元素空tuple 这样用方便结合list理解也容易区分,不然python解释器容易出现歧义而报错

0 回复 有任何疑惑可以回复我~
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
task.py
由于 t 包含一个list元素,导致tuple的内容是可变的。能否修改上述代码,让tuple内容不可变?
'''

t = ('a', 'b', ['A', 'B'])
L = t[2]      #将list提取出来,重新赋值
# 创建tuple和创建list唯一不同之处是用( )替代了[ ]
#获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t[0],t[-1]等索引方式访问元素,但是不能赋值成别的元素
L[0] = ['x']
L[1] = ['y']

print t

T = ('a', 'b', ('A', 'B'))
S = T[2]
# S[0] = ['x']
# S[1] = ['y']
# TypeError: 'tuple' object does not support item assignment
# 由于('A', 'B') 是一个元组,元组的特点是元素指向不可变
print T


0 回复 有任何疑惑可以回复我~

在python代码中,tuple对象是不可以被调用的,否则会抛出一个类型异常的错误。如果要访问元组中的值?元组的切片操作跟列表一样,用方括号作为切片操作符[],里面写上索引或者索引范围。

0 回复 有任何疑惑可以回复我~

tuple始终都是List,特殊的list

t()在语法中意味着调用函数f

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758620    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

为什么tuple输出时要用t[0]而不是t()呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信