美文网首页
python编程基础08-常用数据结构-元祖

python编程基础08-常用数据结构-元祖

作者: 疯子李 | 来源:发表于2023-12-15 01:22 被阅读0次
    """一、元祖定义:
    元祖是有序的不可变对象的集合
    元祖使用小括号(),各个对象之间使用逗号,分隔
    元祖是异构的,可以包含多种数据类型"""
    
    """二、元祖的使用:创建"""
    # 1、直接使用逗号分隔
    tup1 = 1, 2, 3, 4
    print(type(tup1), tup1)
    
    # 2、通过小括号填充元素
    tup2 = (1, 2, 3, 4)
    print(type(tup2), tup2)
    
    # 3、通过构造函数 要为空或者可迭代对象,否则TypeError: 'xx' object is not iterable
    tup3 = tuple()
    print(type(tup3), tup3)  # 不传默认为()
    tup4 = tuple('hello')
    print(type(tup4), tup4)  # 不传默认为()
    tup5 = tuple([1, 2, 3, 4, 5])
    print(type(tup5), tup5)  # 不传默认为()
    ##异常
    tup4 = tuple(1)  # TypeError: 'int' object is not iterable
    
    # 注意:单元素元祖,逗号不可缺少
    tup6 = 1,
    print(type(tup6), tup6)  # <class 'tuple'> (1,)
    tup7 = (2,)
    print(type(tup7), tup7)  # <class 'tuple'> (2,)
    ##不加逗号
    tup7 = (2)
    print(type(tup7), tup7)  # <class 'int'> 2
    
    """三、元祖的使用:索引切片与列表一致"""
    
    """四、元祖的常用方法:"""
    # 1、index
    # index(item)
    # 返回与目标元素相匹配的首个元素的索引
    # 目标值必须在元祖中存在,否则会报错
    li = 1, 2, 3
    print(li.index(3))  # 2
    print(li.index(4))  # ValueError: tuple.index(x): x not in tuple
    
    # 2、conut
    # index(item)
    # 返回某个元素出现的次数
    # 返回:次数
    li = (1, 2, 3, 3, 3, 3)
    print(li.count(3))  # 4
    print(li.count(4))  # 如果输入不存在的对象则为0 0
    
    """五、元祖解包
    把一个可迭代对象里的元素,一并赋值到由对应的变量组成的元祖中"""
    # 1、传统逐一赋值 繁琐
    t = (1, 2, 3)
    a = t[0]
    b = t[1]
    c = t[2]
    print(a, b, c)
    
    # 2、使用元祖解包,一气呵成
    a, b, c = [1, 2, 3]
    print(a, b, c)  # 1 2 3
    
    a, b, c = (1, 2, 3)
    print(a, b, c)  # 1 2 3
    
    """六、元祖与列表的比较"""
    """
    1、相同点:
    1)都是有序的
    2)都是异构的,能包含不同数据类型的对象
    3)都支持索引和切片
    2、区别:
    1)声明方式不同,元祖使用(),列表使用[]
    2)列表可变支持增删改,元祖不可变
    """
    

    相关文章

      网友评论

          本文标题:python编程基础08-常用数据结构-元祖

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