元组 tuple

元组(Tuple) 用于将多个对象保存到一起。你可以将它们近似地看作列表,但是元组不能提供列表类能够提供给你的广泛的功能。元组的一大特征类似于字符串,它们是不可变的,也就是说,你不能编辑或更改元组。

元组是通过特别指定项目来定义的,在指定项目时,你可以给它们加上括号,并在括号内部用逗号进行分隔。

元组通常用于保证某一语句或某一用户定义的函数可以安全地采用一组数值,意即元组内的数值不会改变。

案例(保存为 ds_using_tuple.py ) :

# 元组
# 我会推荐你总是使用括号
# 来指明元组的开始与结束
# 尽管括号是一个可选选项。
# 明了胜过晦涩,显式优于隐式。
zoo = ('python','elephant','penguin')
print('number of animals in the zoo is',len(zoo))

new_zoo ='monkey','camel',zoo
print('number of cages in the new zoo is1',len(new_zoo))
print('all animals in new zoo are',new_zoo)
print('animals brought from old zoo are',new_zoo[2])
print('last animal brought from old zoo is',new_zoo[2],[2])
print('number of animals in the new zoo is',len(new_zoo)-1+len(new_zoo[2]))

输出:

$ python ds_using_tuple.py
Number of animals in the zoo is 3
Number of cages in the new zoo is 3
All animals in new zoo are ('monkey', 'camel', ('python', 'elephant', 'penguin'))
Animals brought from old zoo are ('python', 'elephant', 'penguin')
Last animal brought from old zoo is penguin
Number of animals in the new zoo is 5

它是如何工作的

变量 zoo指的是一个包含项目的元组。我们能够看到 len函数在此处用来获取元组的长度。这也表明元组同时也是一个序列。

现在,我们将这些动物从即将关闭的老动物园(Zoo) 转移到新的动物园中。因此,new_zoo这一元组包含了一些本已存在的动物以及从老动物园转移过去的动物。让我们回到话题中来,在这里要注意到元组中所包含的元组不会失去其所拥有的身份。

如同我们在列表里所做的那般,我们可以通过在方括号中指定项目所处的位置来访问元组中的各个项目。这种使用方括号的形式被称作索引(Indexing) 运算符。我们通过指定new_zoo[2] 来指定new_zoo中的第三个项目,我们也可以通过指定 new_zoo[2][2]来指定new_zoo 元组中的第三个项目中的第三个项目 。一旦你习惯了这种语法你就会觉得这其实非常简单。

包含 0 或 1 个项目的元组
一个空的元组由一对圆括号构成,就像 myempty = () 这样。然而,一个只拥有一个项目的元组并不像这样简单。你必须在第一个(也是唯一一个) 项目的后面加上一个逗号来指定它,如此一来 Python 才可以识别出在这个表达式想表达的究竟是一个元组还是只是一个被括号所环绕的对象,也就是说,如果你想指定一个包含项目 2 的元组,你必须指定 singleton = (2, ) 。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值