• #1 创建元组">#1 创建元组
  • #2 访问元组">#2 访问元组
    • #2.1 正索引">#2.1 正索引
    • #2.2 负索引">#2.2 负索引
    • #2.3 切片">#2.3 切片
    • #2.4 遍历元组">#2.4 遍历元组
  • #3 元组修改">#3 元组修改
    • #3.1 添加元素">#3.1 添加元素
    • #3.2 删除元素">#3.2 删除元素
  • #4 合并元组">#4 合并元组
  • #5 总结">#5 总结
  • #6 练习题">#6 练习题

    8元组 - 图1

    首页

    课程地图 成长学园 创意集市 高校合作 企业服务 技术服务

    学习教程

    我们首先来回顾下上一关的内容,上一关我们介绍了字典:

    8元组 - 图2

    今天,我们一起进入到元组的学习。 元组和列表很像,区别在于元组创建完成后便不能被修改。创建元组很简单,只需要将用逗号分隔的元素放到 <font style="color:rgb(71, 101, 130);">()</font> 中,<font style="color:rgb(71, 101, 130);">(元素1,元素2,元素3,...,元素n)</font>,如果元素为字符串,别忘记添加引号哟! 我们首先一起来看下元组的创建。

    #1 创建元组

    龙,是中国的“图腾”,在中国古代神话传说中,龙生有九子,九子不成龙,各有所好。比喻同胞兄弟品质、爱好各不相同。龙生的九子分别是:长子囚牛、次子睚眦(yá zì)、三子嘲风、四子蒲牢、五子狻猊(Suān ní)、六子霸下、七子狴犴(bì àn)、八子负屃(fù xì)、九子螭吻(chī wěn)。 我们创建一个元组,包含这九子,语句如下:
    1. loong_son = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊', '霸下', '狴犴', '负屃', '螭吻')
    2. print(loong_son)
    1
    2
    3 如果需要创建一个仅包含一个元素的元组,必须在该元素后面添加一个逗号,否则,Python 无法将变量识别为元组。比如,我们只想创建一个仅仅包含长子囚牛的元组,语句如下:
    1. loong_son1 = ('囚牛') # 不是元组
    2. loong_son2 = ('囚牛',)
    3. print(type(loong_son1))
    4. print(type(loong_son2))
    1
    2
    3
    4
    5 友情提示:<font style="color:rgb(71, 101, 130);">type()</font> 是获取数据类型的方法哦!

    #2 访问元组

    现在呢,我们想要访问元组 <font style="color:rgb(71, 101, 130);">loong_son</font> 中的囚牛、嘲风、螭吻,该如何访问呢? 大家可以回想下在之前列表、字典的介绍中,我们是如何访问其中的元素的。 我们可以使用索引操作符 <font style="color:rgb(71, 101, 130);">[]</font> 访问元组的元素,我们可以从左到右正索引,也可以从右到左负索引。我们先来看下正索引的语句:

    #2.1 正索引

    1. loong_son = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊', '霸下', '狴犴', '负屃', '螭吻')
    2. print(loong_son[0])
    3. print(loong_son[2])
    4. print(loong_son[8])
    1
    2
    3
    4
    5 我们成功访问了囚牛、嘲风、螭吻。

    #2.2 负索引

    负索引表示从末尾开始,-1 表示最后一个元素,-2 表示倒数第二个元素,依此类推。
    1. loong_son = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊', '霸下', '狴犴', '负屃', '螭吻')
    2. print(loong_son[-1])
    3. print(loong_son[-7])
    4. print(loong_son[-9])
    1
    2
    3
    4
    5 成功访问了囚牛、嘲风、螭吻。 索引部分的内容和之前介绍的一样,正索引是从左到右,用 0 表示第一个元素;负索引是从右到左,用 -1 表示右边第一个元素,大家一定要记清楚哟!

    #2.3 切片

    现在我们想访问龙的前三个孩子,即囚牛、睚眦、嘲风,怎么操作呢? 当然,我们可以通过索引的方式一个一个访问出来,但是这样操作的效率非常低! 我们在学习前面知识的时候提到过,通过切片可以一次访问多个元素,对于访问元组中的多个元素,还是采用切片的方式:
    1. loong_son = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊', '霸下', '狴犴', '负屃', '螭吻')
    2. print(loong_son[0:3])
    1
    2 关于切片的语法,大家可以通过下方语句回顾下,这里我们就不过多介绍啦!
    1. loong_son = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊', '霸下', '狴犴', '负屃', '螭吻')
    2. print(loong_son[1:])
    3. print(loong_son[:3])
    4. print(loong_son[:])
    5. print(loong_son[-3:-1])
    6. print(loong_son[-3:])
    7. print(loong_son[:-1])
    1
    2
    3
    4
    5
    6
    7
    8

    #2.4 遍历元组

    我们也可以使用 <font style="color:rgb(71, 101, 130);">for</font> 循环遍历元组元素,运行下方语句。
    1. loong_son = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊', '霸下', '狴犴', '负屃', '螭吻')
    2. for elem in loong_son:
    3. print(elem)
    1
    2
    3
    4 通过 <font style="color:rgb(71, 101, 130);">for</font> 循环,我们完成了元组 <font style="color:rgb(71, 101, 130);">loong_son</font> 中元素的遍历。

    #3 元组修改

    我们在介绍元组时提到了元组的一个特征是:元组在创建完成后便不能被修改!因此任何关于修改元组的操作都会报错,比如添加新元素到元组中,或者是删除元组中的某些元素,我们逐一来看下添加和删除两种情况:

    #3.1 添加元素

    元组一旦创建,就无法向其添加元素,元组是不可改变的。
    1. loong_son = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊', '霸下', '狴犴', '负屃', '螭吻')
    2. loong_son[10] = '龙' # 会报错,元组不可改变
    1
    2
    3

    #3.2 删除元素

    元组是不可改变的,因此无法从中删除元素,但可以删除整个元组。
    1. loong_son = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊', '霸下', '狴犴', '负屃', '螭吻')
    2. del loong_son
    3. print(loong_son) # 会报错,因为删除之后,loong_son 不再存在
    1
    2
    3
    4

    #4 合并元组

    元组不能被修改,但是两个元组是可以合并成一个新的元组的,在 Python 中,使用 <font style="color:rgb(71, 101, 130);">+</font> 运算符可以连接两个或多个元组,语句如下:
    1. loong_son1 = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊')
    2. loong_son2 = ('霸下', '狴犴', '负屃', '螭吻')
    3. loong_son = loong_son1 + loong_son2
    4. print(loong_son)
    1
    2
    3
    4
    5 我们看到通过 <font style="color:rgb(71, 101, 130);">+</font> 运算符,元组 <font style="color:rgb(71, 101, 130);">loong_son1</font> 和元组 <font style="color:rgb(71, 101, 130);">loong_son2</font> 形成了一个新的元组 <font style="color:rgb(71, 101, 130);">loong_son</font>

    #5 总结

    下面我们一起来回顾下本关内容:

    8元组 - 图3

    #6 练习题

    创建一个包含 <font style="color:rgb(71, 101, 130);">'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'</font> 这个 12 个元素的元组,并尝试对元组进行修改,看看会报什么错。

    更新于: 12/30/2021, 2:46:39 AM