元组

Python中的元组数据类型允许存储多个值,但是不能改变这些值。用专业术语来说就是这些数据值是不可变的。在创建元组后,可以将元组当成一个单独的对象使用,也可以引用其中的一个单独的值。

1、创建元组

在Python中有很多方法去创建一个元组:

a、使用括号创建一个空的元组,如下代码所示:

这里写图片描述

b、在赋值表达式中,在一个值后面添加一个逗号,如下所示:

这里写图片描述

c、在赋值表达式中,使用逗号分隔多个值,如下所示:

这里写图片描述

d、使用Python内建的函数temp( ) 并且指定一个可迭代的值(如列表),如下所示:

这里写图片描述

可能你已经注意到了,Python使用括号将数据值集合起来表示元组。元组中并非只能存储数字值,也可以使用字符值。

这里写图片描述

可以使用单引号或者是双引号来表示一个字符串。

注意:元组是不可变的,一旦创建了元组,就不能改变其中的数据值,也不能添加或者删除值。

2、访问元组中的数据

创建元组后,希望能够访问其中存储的数据。要这样做,需要使用索引。索引指向一个元组中的单独的数据值。可以在Python中语句中使用索引值来获取存储在元组中特定位置的数据值使用索引值0可以引用存储在元组中的第一个值。从0开始可能更容易让人产生混淆,在尝试引用数据值时一定要小心!如下代码所示:

这里写图片描述

要引用元组中的某一个索引,只要使用方括号将索引值括起来,然后将其添加到元组变量名后面。如果尝试引用一个不存在的索引值,Python会产生如下的错误:

这里写图片描述

3、访问一个范围内的值

除了可以访问元组中的一个单独数据值,Python还允许获取数据值的一个子集。如果需要获取一个元组中数据值的连续子集(所谓的切片),你可以使用这样的索引格式 [ i : j ] ,i 是起点索引值, j 是终点索引值。

这里写图片描述

注意:切片所定义的新元组中的第一个值是起点索引值,但是结尾的值是终点索引值的前一个值。这可能邮电令人混淆,为了更加方便记忆,在定义元组切片的时候使用方程式 i <= x < j , 在这里x是那些想要获取的值。

最后,还有一种格式可以用来从元组中提取数据元素,即 [i:j:k], i 是起点索引值, j是终点索引值, k是步长,用来在起点和终点之间递增索引值。下面的代码就是展示它是如何进行切片的:

这里写图片描述

tuple4包含了tuple3变量中从索引0开始直到索引6,每次间隔一个索引的所有数据值,因此所得到的元组由索引0、2和4组成,由此创建了元组(1,3,5).

4、使用元组

因为元组值是不可变的,Python中没有任何函数可以操作元组中的值。但是有一些函数可以帮助你获取到元组中数据的信息。

a、检查元组中是否包含一个值

有两个比较操作可以用来检查元组变量是否包含某个特定的数据值。当元组包含所制定的数据元素时,比较操作符 in 会返回一个布尔值 true。
这里写图片描述

也可以将not 逻辑运算符和 in 比较符一起使用,以便对结果进行取反。

这里写图片描述

有时添加一个not逻辑运算符会让比较变得更加方便,比如,当想要调用“then”和“else”代码块来将较短的代码块放在长的代码块的前面。

b、获取元组中数据的数量

Python中的 len( ) 函数允许方便地确定元组中有多少个元素,接下来,我们就了解一下该如何去使用它:

这里写图片描述

注意:在对元组使用 len( ) 函数时,需要特别注意。大多数的初学者会误认为 len( ) 函数返回的值是元组中最后的一个值的索引。 因为元组的索引是从0开始的,因此元组的结尾值的索引比 len( ) 函数的返回值小 1。

c、找出元组中最小和最大的值

Python提供了min( )和max( )函数,我们可以很快的找出元组中的最小(min( ))和最大(max( ))值,如下所示:
这里写图片描述

min( )和 max( )函数同样也对存储字符串值的元组有效。Python使用标准的ACSII比较来确定最大和最小值。
这里写图片描述

这是来找出元组中存储值的范围的一种很方便的方法。

d、连接元组

虽然不能改变元组中包含的数据值元素,但是可以连接两个或者是多个元组值来创建一个新的元组:

这里写图片描述
加号不是用来进行加法运算的,对于元组,加号当做连接操作符。注意的是,连接两个元组会创建一个新的元组并且包含原来两个元组值中的所有数据元素。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值