zoukankan      html  css  js  c++  java
  • &【07】Python 数据类型之元组

    本文参考:

    纯洁的微笑:http://www.ityouknow.com/python.html

    Python 中的数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字、字符、甚至可以是其他数据结构 在 Python 中,最基本的数据结构是序列(列表和元组),序列中的每个元素都有一个序号(元素的具体位置),这个序号叫索引,索引下标从 0 开始,以此类推……

    • Python 的元组与列表类似,不同之处在于元组的元素不能修改。
    • 元组使用小括号(),列表使用方括号[]。

    1. 元组基本操作

    1.1 创建元组

    元组创建很简单,只需要在括号中添加元素(不需要括号也可以),并使用逗号隔开即可。

    tup1 = ('baidu', 'google', 12, 34)
    tup2 = (1, 2, 3, 4, 5)
    tup3 = "a", "b", "c", "d"
    
    # 创建空元组
    tup4 = ()
    
    # 查看tup3和tup4的类型
    print(type(tup3))  # 输出 <class 'tuple'>
    print(type(tup4))  # 输出 <class 'tuple'>

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

    TupNum = (34)
    # 不加逗号是整型
    print(type(TupNum))  # 输出 <class 'int'>
    
    TupNum = (34,)
    # 加上逗号变元组
    print(type(TupNum))  # 输出 <class 'tuple'>

    元组与字符串类似,下标索引从 0 开始,可以对元组进行截取,组合等操作。

    1.2 访问元组

    元组的访问和序列访问元素一样,都是通过下标索引进行访问操作

    tup1 = ('baidu', 'google', 1, 2)
    tup2 = (1, 2, 3, 4, 5, 6, 7)
    print(tup1[0:2])  # 输出('baidu', 'google')
    
    print(tup2[1:4])  # 输出 (2, 3, 4)

    1.3 修改元组

    元组中的值一旦定义不能修改,但是我们可以通过元组与元组之间的连接关系来对元组进行修改,例如:

    tup1 = ('baidu', 'google', 1, 2)
    tup2 = (1, 2, 3, 4, 5, 6, 7)
    print(tup1 + tup2)  # 输出 ('baidu', 'google', 1, 2, 1, 2, 3, 4, 5, 6, 7)

    ==注意:== 以下修改元组属于非法操作,因为元组不支持通过索引列来修改,只能对元组进行复制和连接操作

    ==tup1[0] = 100== (不能进行此操作)

    1.4 删除元组

    由于元组的不可修改性,所以元组中的元素值是不允许删除的,但我们可以使用 del 语句来删除整个元组,如下实例:

    tup = ('baidu', 'google', 1, 2)
    print(tup)  # 输出 ('baidu', 'google', 1, 2)
    del tup
    print("删除后的元组 tup : ")
    print(tup)
    
    # 报错信息如下,证明整个元组已经被删除
    Traceback (most recent call last):
      File "main1.py", line 7, in <module>
        print(tup)
    NameError: name 'tup' is not defined

    2 元组运算符

    与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。总而言之对整个元组进行一些运算后就会生成一个新的元组。

    2.1 元组求长度

    元组求长度使用运算函数 len ,如下

    tup1 = ('baidu', 'google', 1, 2)
    # 求元组tup1的长度
    print(len(tup1))  # 输出 3

    2.2 连接元组

    两个甚至对个元组的连接使用 + 连接符,例如:

    tup1 = (1, 2, 3)
    tup2 = (4, 5, 6)
    tup3 = (7, 8, 9)
    print(tup1 + tup2 + tup3)  # 输出 (1, 2, 3, 4, 5, 6, 7, 8, 9)

    2.3 复制元组

    tup1 = ('abc')
    # 元组复制需要加上分隔符后面复制的内容就按照分隔符分隔开
    print((tup1,) * 3)  # 输出 ('abc', 'abc', 'abc')

    2.4 判断元素

    判断元组中元素是否存在使用关键字 in 进行判断,判断结果返回布尔值

    tup1 = 'abc'
    print('a' in tup1)  # 输出True
    print('d' in tup1)  # 输出False

    2.5 元组中指定位置元素访问

    和序列一样,元组中的元素同样可以使用索引号访问指定位置的元素,例如:

    content = ('hello', 'world', '!')
    print(content)  # 输出 ('hello', 'world', '!')
    print(content[1:])  # 输出('world', '!')
    print(content[:2])  # 输出('hello', 'world')
    print(content[-1])  # 输出!
    print(content[-2])  # 输出world

    3 元组内置函数

    和列表一样,元组同样也拥有一些内置函数,这些函数用于判元组中的元素大小以及将元组做相应的转换

    tp = (1, 2, 3, 4, 5, 6, 7, 8)
    # 计算元组元素个数。
    print(len(tp))  # 输出 8
    
    # 返回元组中元素最大值。
    print(max(tp))  # 输出 8
    
    # 返回元组中元素最小值。
    print(min(tp))  # 输出 1
    
    # 将列表转换为元组。
    seq = [5, 4, 3, 2, 1]
    print(seq)  # 输出 [5, 4, 3, 2, 1]
    print(type(seq))  # 输出<class 'list'>
    
    tpseq = tuple(seq)
    print(tpseq)  # 输出 (5, 4, 3, 2, 1)
    print(type(tpseq))  # 输出 <class 'tuple'>
  • 相关阅读:
    查找 Search
    [HEOI2016/TJOI2016]排序
    [SDOI2011\]染色
    [构造题选讲]
    [LNOI2014]LCA
    [POI2013]LUKTriumphal arch
    java取得某月最后一天
    设置上网代理服务器
    Richfaces改变我的编程方式
    Richfaces Style
  • 原文地址:https://www.cnblogs.com/doagain/p/15521613.html
Copyright © 2011-2022 走看看