美文网首页
认识元祖

认识元祖

作者: 匿隱 | 来源:发表于2019-01-22 12:19 被阅读0次

    1.什么是元祖(tuple)

    python提供的容器型数据类型,不可变并且有序。(元祖就是不可变的列表)
    不可变 - 不支持增删改,只支持查
    有序 - 每个元素对应一个确定的下标

    2.字面量和元素

    (元素1, 元素2, 元素3...)
    其中的元素可以是任何类型的数据,并且类型可以不一样,同样的元素可以有多个

    point = (100, 30)
    print(point, type(point))
    

    注意:

    1.空的元祖: ()

    tuple1 = ()
    print(type(tuple1))

    2.只有一个元素的元祖

    tuple2 = (100,)
    print(tuple2, type(tuple2))

    3.直接将多个元素用逗号隔开,不加小括号表示也是一个元祖

    tuple3 = 1, 2, 3
    print(tuple3, type(tuple3))

    3.元祖获取元素和列表一样

    tuple4 = ('成都', '达州', '绵阳', '南充', '广元')

    获取单个元素

    print(tuple4[1], tuple4[-1])
    

    获取部分

    print(tuple4[0:3])
    print(tuple4[::-1])
    

    遍历

    for city in tuple4:
        print(city)
    
    for index in range(len(tuple4)):
        print(tuple4[index])
    

    补充:特殊的获取方式

    1. 变量1,变量2... = 元祖 -- 用前面的变量依次获取元祖元素的值。(要求前面变量的个数和元祖元素的个数一致)

    point = (100, 200, 10)
    x, y, z = point # x,y = (100, 200) <==> x, y = 100, 200
    print(x, y, z)

    2. 变量1, 变量2 = 元祖 -- 通过带的变量获取元祖中剩余的部分;

    注意:这个结构中带的变量只能有一个,不带的变量可以有多个

    name, *scores = ('小明', 100, 89, 67, 99)
    print(name, scores)
    
    name, num, *scores = ('小明', 100, 89, 67, 99)
    print(name, num, scores)
    
    *info, num1, num2 = ('小明', 100, 89, 67, 99)
    print(info, num1, num2)
    
    info1, *nums, num1 = ('小明', 100, 89, 67, 99)
    print(nums)
    

    补充:*的用法

    取元祖和列表中的数据
    nums = (1, 2, 3)
    nums2 = [11, 22, 33]
    print(*nums, *nums2)
    

    4.相关运算(和列表一样)

    +,*
    in / not in
    len(), max(), min(), sum(), tuple()

    tuple1 = (1, 2, 3)
    tuple2 = ('aa', 'bb')
    print(tuple1 + tuple2)
    print(tuple1*3)
    
    print('aaa' in tuple2)
    

    5.排序

    sorted(序列) - 对序列中的元素排序,产生一个新的列表(不管是什么序列,排完后最后都是列表)

    注意:列表.sort() -- 修改原列表中元素的顺序; sorted(列表) -- 产生一个新的列表

    nums = (1, 34, 89, 9)
    new_nums = sorted(nums, reverse=True)
    print(new_nums, tuple(new_nums),nums)
    
    new_strs = sorted('skjhabssnssalewz')
    print(str(new_strs), ''.join(new_strs))
    

    join的使用

    字符串.join(序列) - 将序列中的元素取出,用指定的字符串连接在一起。要求序列中的元素必须是字符串

    new_str = ''.join(['aks', 'bos', 'cous'])
    print(new_str, type(new_str))
    
    
    list1 = [1, 345, 90, 9]
    new_list = list1.sort()    # None; sort不会产生新的列表
    print(list1, new_list)
    

    相关文章

      网友评论

          本文标题:认识元祖

          本文链接:https://www.haomeiwen.com/subject/wbvadqtx.html