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

Python数据类型之元组

标签:
Python 源码

https://img1.sycdn.imooc.com//5e097cdf00015b3410801440.jpg

1. 元组的定义:

   元组的创建只需要在括号()中添加元素即可创建元组,元素之间是有逗号(,)分隔开。

   元组()与列表[]相似,不同之处在于列表是可变对象,而元素是不可变对象,即元组一旦创建之后,其元素不可以再修改。


2. 创建元组

   创建一个空元组: tup = ()

   创建一个只有一个元素的元组: tup = (1, )  # 这个逗号不能省略,否则创建的不是元素

   创建一个含有多个元素的元素: tup = (1, 2, 3, 4, 5)

   注意:元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。


   元组的元素也可以是一个列表

   例如:tup = (1, 2, 3, [100, 200, 300])


3. tuple函数:

   tuple()函数的功能和list()函数基本上一样,都是以一个序列作为参数,并把它转换为元组。如果参数是元组,参数就好呗原样返回。

   例如:

   tuple([1, 2, 3]) => 结果:(1, 2, 3)

   tuple('hello') => 结果:('h','e', 'l', 'l', 'o')

   tuple(('hello', 'world')) => 结果:('hello', 'world')


4. 元组的基本参数

   (1)访问元组

   可以使用下标索引来访问元组中的值。元组的索引下标从0开始

   例如:  num = (2, 4, 6, 8, 10)

          print(num[1])  => 结果: 4

          print(num[1:4]) => 结果:4, 6, 8


   (2)修改元组

   元组是不可变对象,不允许对元组中的元组进行修改,但是可以对元组进行连接组合

   例如:tup1 = (1, 3, 5, 7, 9)

        tup2 = (2, 4, 6, 8, 10)

        print(tup1 + tup2) => 结果:(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)


   (3)删除元组

   元组是不可变对象,元组中的元素值不允许删除,但是可以使用del语句来删除整个元组。

   例如:tup = (1, 2, 3, 4)

         del tup

         print(tup)  => 将会抛出错误异常


   (4)元组索引、截取(索引下标从0开始)

   元组是一个序列,因此可以根据索引来访问元组中指定位置的元素,也可以来截取索引中的一部分元素。

   例如:str = ('a', 'b', 'c', 'd', 'e', 'f')

        str[0]  => 结果: 'a'

        str[4]  => 结果: 'e'

        str[1:4] => 结果:('b', 'c', 'd')


5. 元组运算符

   (1)元组与字符串一样,可以使用加号(+)进行连接组合和使用乘号(*)进行复制操作,运算后将会得到一个新的元组。

   例如:

   tup1 = (1, 2, 3, 4, 5)

   tup2 = ('a', 'b', 'c')


   tup1+tup2  => 结果:(1, 2, 3, 4, 5, 'a', 'b', 'c')

   tup2*3  => 结果:('a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c')


   (2) in 判断某个元素是否在序列中,在就返回True,不在就返回False

   3 in (1, 2, 3, 4)   => 结果:True


   not in 判断某个元素是否不在序列中,不在就返回True, 在就返回False

   3 not in(1, 2, 3, 4)  => 结果: False


6. 元组与列表的区别

   (1)元组与列表的区别在于列表是可变对象,而元组是不可变对象,元组的元素不能修改,元组一旦初始化就不能修改。

   (2)元组不可变,所以元组更安全。

   (3)元组的元素可以是列表,列表的元素也可以是元组,例如:

   list = [1, 2, 3, 4, (10, 20, 30, 40)]

   tuple = (1, 2, 3, [100, 200, 300])

   (4)元组的“不变”是指元组的每个元素的指向永远不变,如指向'a'就不能改成指向'b',指向一个list就不能指向其他对象,但指向的list列表本身是可变的。

 代码示例:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# author : liuhefei
# Time : 2019/11/30
# desc:  Python函数类型之元组

if __name__ == "__main__":
    # 创建元素
    tup = ()  # 创建一个空元组
    tup1 = (1, ) # 创建一个只包含一个元素的元组
    tup2 = (1, 2, 3, 4, 5)  # 创建一个包含多个元素的元组

    tup4 = (1, 2, 3, [100, 200, 300]) # 元组的元素也可以是一个列表

    print(tup)
    print(tup1)
    print(tup2)
    print(tup4)
    print(type(tup))  # 查看tup的类型

    # 元组的基本操作
    # 访问元组
    num = (1, 2, 3, 4, 5, 6, 7)
    print("num[0] = ", num[0])
    print("num[4] = ", num[4])
    # print("num[10] = ", num[10]) 将会报错,索引越界

    # 修改元素
    # 元组是不可变对象,不允许修改它的元素
    #num[0] = 100   # 将会报错

    # 对元组进行连接操作
    str = ('a', 'b', 'c')
    print("num与str连接:", num+str)

    # 删除元素
    tup3 = ('我', "和", "你")
    print(tup3)

    del tup3  # 删除
    #print(tup3)  # 将会报错

    # 元组索引、截取
    field = ('Java', "Html", "CSS", "python", 'golang', "JavaScript", "vue.js")
    print("filed[3] = ", field[3])  # 获取第三个元素
    print("filed[-3] = ", field[-3])  # 反向读取,读取倒数第三个元素
    print("field[2:] = ", field[2:])  # 截取元素,从第2个元素开始后的所有元素
    print("filed[1:5] = ", field[1:4])  # 截取元素,截取索引值为1到5之间的元素,不包含索引为4的元素

    # 元组运算符
    num1 = (1, 3, 5, 7, 9)
    num2 = (2, 4, 6, 8, 10)

    # 元组连接操作
    print("num1 + num2 = ", num1+num2)

    # 元素复制操作
    print("num1 * 3 = ", num1 * 3)

    # in 操作
    print("3 in num1 = ", 3 in num1)

    # not in 操作
    print("3 not in num2 = ", 3 not in num2)

https://img1.sycdn.imooc.com//5e097e2300014bd810810510.jpg

元组函数:

1. len(tuple): 用于计算元组元素的个数(内置函数)


2. max(tuple): 用于返回元组中元素的最大值(内置函数)


3. min(tuple): 用于返回元组中元素的最小值(内置函数)


4. tuple(seq): 该函数用于将列表转化为元组(内置函数)

代码示例:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# author : liuhefei
# Time : 2019/11/30
# desc:  Python元组函数

if __name__ == "__main__":
    tup = ('Java', "Html", "CSS", "python", 'golang', "JavaScript", "vue.js")
    num = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

    # len(tuple): 用于计算元组元素的个数(内置函数)
    print("len(tup) = ", len(tup))
    print("len(num) = ", len(num))


    # max(tuple): 用于返回元组中元素的最大值(内置函数)
    print("max(tup) = ", max(tup))
    print("max(num) = ", max(num))


    # min(tuple): 用于返回元组中元素的最小值(内置函数)
    print("min(tup) = ", min(tup))
    print("min(num) = ", min(num))


    # tuple(seq): 该函数用于将列表转化为元组(内置函数)
    list = ["天国虽美", "没有了你", "万杯觥筹", "只不过是", "提醒寂寞罢了"]
    print("tuple(list) = ", tuple(list))

    print("tuple(num) = ", tuple(num))  # 参数是元组,原样输出

    str = tuple("一个人的武林")  # 参数是字符串,转化为元素
    print("str = ", str)

    str1 = tuple("success")
    print("str1 = ", str1)

结束语:2019即将结束了,你是否还在依旧坚持自己的梦想呢?

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
1.5万
获赞与收藏
8507

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消