查看原文
其他

[快学Python3]Tuple(元组)

苦叶子 开源优测 2022-11-13

点击上方蓝字“开源优测”一起玩耍

概述

元组,使用小括号()来标识,其特点是:元组中的元素不可修改

下面我们看下如何创建元组的示例:

tuple1 = (u'DeepTest', u'开源优测', u'1') tuple2 = (1, 2, 3, 4, 5) tuple3 = ("a", "b", "c", "d", "e")

内置函数

Python中常用的内置函数有:

  • len
    用于计算元组元素的个数

  • max
    返回元组中元素最大值

  • min
    返回元组中元素最小值

  • tuple
    将列表转换成元组

下面我们一起看看上述四个函数的示例:

# -*- coding:utf-8 -*-

__author__ = u'苦叶子'

if
__name__ == "__main__":    tuple_demo = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)    
   
   # 计算tuple_demo中元素个数
   print(len(tuple_demo))    

   # 返回tuple_demo中最大值的元素    print(max(tuple_demo))    

   # 返回tuple_demo中最小值的元素
   print(min(tuple_demo))    
   
   # 将list转换成元组    list_demo = [1, 2, 3, 4, 5, 6]    tuple1 = tuple(list_demo)    

   # 打印转换后的元组
   print(tuple1)

运行结果如下:

10
9
0
(1, 2, 3, 4, 5, 6)

切片

因为元组也是一个序列,所以我们可以使用Python的切片机制来访问元组中指定位置的元素,也可以截取其中的一段元素。

下面我们一起看看切片操作的示例:

# -*- coding:utf-8 -*-

__author__ = u'苦叶子'

if __name__ == "__main__":    print(u"元组切片操作示例!")    data_demo = (u"DeepTest", u"appium", u"testingunion.com", u"hello", u"python3")    

   # 读取第二个元素appium, 注意索引下标从0开始
   e = data_demo[1]    print(e)    

   # 读取倒数第二个hello
   e = data_demo[-2]    print(e)    
   
   # 切片,截取从第2个元素开始后的所有元素    e = data_demo[1:]    print(e)    

   # 切片,截取第2-4个元素
   e = data_demo[1:4]    print(e)

执行结果如下

元组切片操作示例 appium hello ('appium', 'testingunion.com', 'hello', 'python3') ('appium', 'testingunion.com', 'hello')

对上面的代码小结一下:

  • 元组可以通过下标索引的方式来读取元素

  • 元组可以通过负数下标索引的方式反向读取元素

  • 元组可以通过 起始:终止 方式截取一段元素

合并

元组的元素的特性:不可修改。但我们可以对元组进行合并或是连接生成新的元组,代码示例如下:

# -*- coding:utf-8 -*-

__author__ = u'苦叶子'

if
__name__ == "__main__":    print(u"元组合并或连接操作示例!")    tup1 = (u"DeepTest", u"appium")    tup2 = (u"testingunion.com", u"hello", u"python3")  
     # 合并成新的元组    tup3 = tup1 + tup2  
       # 打印看看效果    print(tup1)    print(tup2)    print(tup3)

删除

元组的元素的特性:不可修改。意味着我们不可以删除单个元素,但可以把元组给删除,示例如下:

# -*- coding:utf-8 -*-

__author__ = u'苦叶子'

if __name__ == "__main__":    print(u"元组合并或连接操作示例!")    tup1 = (u"DeepTest", u"appium")    print(tup1)    
   # 删除元组    del tup1    print(tup1)
   

执行上述代码会出什么情况呢?

会提示输出异常信息,提时:

NameError: name 'tup1' is not defined

运算

元组和字符串一样可以使用+或*进行运算,经过运算后可以生成一个新的元组。

# -*- coding:utf-8 -*-

__author__ = u'苦叶子'

if __name__ == "__main__":    print(u"元组运算示例")    tup1 = (u"DeepTest", u"开源优测")    tup2 = (1, 2, 3, 4)    
   
   # 计算元组长度    print(len(tup1))    

   #  元组连接
   tup3 = tup1 + tup2    print(tup3)    
   
   # 元组复制    tup4 = tup1 * 2    print(tup4)    
   
   # 判断元素是否在元组中, 是则返回True, 否则返回
   result = 5 in tup2    print(result)    
   
   # 遍历元组    for t in tup2:        print(t)

列表转元组

使用内置函数tuple将list转换成元组,代码示例如下:

# -*- coding:utf-8 -*-

__author__ = u'苦叶子'

if
__name__ == "__main__":    
   # 将list转换成元组    list_demo = [1, 2, 3, 4, 5, 6]    tuple1 = tuple(list_demo)  
        # 打印转换后的元组    print(tuple1)
        

   


开源优测

分享软件测试开源技术、经验、方案的首发平台

长按二维码/微信扫描 关注开源优测

QQ群:260407012

苦叶子私人微信:liyimin1912

有问题,可留言或加好友进微信群

苦叶子原创文章首发平台


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存