开发者社区> 向阳逐梦> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Python语法之元组

简介: 元组和列表其实很像,区别主要在于元组创建完成后,不能被修改。创建元组很简单,只需要将用逗号分隔的元素放到 () 中,(元素1,元素2,元素3,...,元素n),如果元素为字符串,别忘记添加引号!
+关注继续查看

元组和列表其实很像,区别主要在于元组创建完成后,不能被修改。创建元组很简单,只需要将用逗号分隔的元素放到 () 中,(元素1,元素2,元素3,...,元素n),如果元素为字符串,别忘记添加引号!

1.创建元组

龙,是中国的“图腾”,在中国古代神话传说中,龙生有九子,九子不成龙,各有所好。比喻同胞兄弟品质、爱好各不相同。龙生的九子分别是:长子囚牛、次子睚眦(yá zì)、三子嘲风、四子蒲牢、五子狻猊(Suān ní)、六子霸下、七子狴犴(bì àn)、八子负屃(fù xì)、九子螭吻(chī wěn)。

一起创建一个元组,包含这九子,具体代码如下:

loong_son = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊', '霸下', '狴犴', '负屃', '螭吻')
print(loong_son)

如果需要创建一个仅包含一个元素的元组,必须在该元素后面添加一个逗号,否则,Python 无法将变量识别为元组。比如,我们只想创建一个仅仅包含长子囚牛的元组,语句如下:

loong_son1 = ('囚牛') # 不是元组
loong_son2 = ('囚牛',)
print(type(loong_son1))
print(type(loong_son2))

type() 是获取数据类型的方法。

2.访问元组

我们想要访问元组 loong_son 中的囚牛、嘲风、螭吻,该如何访问呢?

在之前列表、字典的介绍中,介绍了如何访问其中的元素。

我们可以使用索引操作符 [] 访问元组的元素,我们可以从左到右正索引,也可以从右到左负索引。

2.1正索引

loong_son = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊', '霸下', '狴犴', '负屃', '螭吻')
print(loong_son[0])
print(loong_son[2])
print(loong_son[8])

这样子就可以成功访问囚牛、嘲风、螭吻。

2.2负索引

负索引表示从末尾开始,-1 表示最后一个元素,-2 表示倒数第二个元素,依此类推。

loong_son = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊', '霸下', '狴犴', '负屃', '螭吻')
print(loong_son[-1])
print(loong_son[-7])
print(loong_son[-9])

索引部分的内容和之前介绍的一样,正索引是从左到右,用 0 表示第一个元素;负索引是从右到左,用 -1 表示右边第一个元素!

2.3切片

如果我们想访问龙的前三个孩子,即囚牛、睚眦、嘲风,怎么操作呢?

可以通过索引的方式一个一个访问出来,但是这样操作的效率非常低!

我们在学习前面知识的时候提到过,通过切片可以一次访问多个元素,对于访问元组中的多个元素,还是采用切片的方式:

loong_son = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊', '霸下', '狴犴', '负屃', '螭吻')
print(loong_son[0:3])

关于切片的语法,可以通过下面的代码进行回顾。

loong_son = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊', '霸下', '狴犴', '负屃', '螭吻')
print(loong_son[1:])
print(loong_son[:3])
print(loong_son[:])
print(loong_son[-3:-1])
print(loong_son[-3:])
print(loong_son[:-1])

2.4遍历元组

可以使用 for 循环遍历元组元素,运行下方语句。

loong_son = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊', '霸下', '狴犴', '负屃', '螭吻')
for elem in loong_son:
    print(elem)

通过 for 循环,我们完成了元组 loong_son 中元素的遍历。

3.元组修改

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

3.1添加元素

元组一旦创建,就无法向其添加元素,元组是不可改变的。

loong_son = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊', '霸下', '狴犴', '负屃', '螭吻')
loong_son[10] = '龙' # 会报错,元组不可改变

3.2删除元素

元组是不可改变的,因此无法从中删除元素,但可以删除整个元组。

loong_son = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊', '霸下', '狴犴', '负屃', '螭吻')
del loong_son
print(loong_son) # 会报错,因为删除之后,loong_son 不再存在

4.合并元组

元组不能被修改,但是两个元组是可以合并成一个新的元组,在 Python 中,使用 + 运算符可以连接两个或多个元组,语句如下:

loong_son1 = ('囚牛', '睚眦', '嘲风', '蒲牢', '狻猊')
loong_son2 = ('霸下', '狴犴', '负屃', '螭吻')
loong_son = loong_son1 + loong_son2
print(loong_son)

我们看到通过 + 运算符,元组 loong_son1 和元组 loong_son2 形成了一个新的元组 loong_son

5.小试牛刀

创建一个包含 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' 这个 12 个元素的元组,并尝试对元组进行修改,看看会报什么错。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Python元组tuple
Python元组tuple自制脑图 元组是一个不可变的序列,它的操作的方式基本上和列表是一致的,所以在操作元组时,就可以把元组当成是一个不可变的列表,一般当我们希望数据不改变时,就使用元组,其余情况都使用列表.。
11 0
Python元组 tuple详解
Python元组 tuple详解
36 0
Python刷题系列(7)_元组tuple
Python的元组与列表类似,不同之处在于元组的元素不能修改 【1】元组使用小括号,列表使用方括号 【2】元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可 【3】元组(tuple): 不可变数据类型 【4】元组内可以存储任意数据类型 【5】如果只创建一个元素的元组,那么这个元素后面必须要加逗号才行
82 0
Python入门(三):元组(tuple)的使用
在Python语言中内置的数据结构有:列表(list)、元组(tuple)、字典(dict)、集合(set), 这4种数据结构和基础数据类型(整数、浮点数等)统称为“内置类型”(Built-in Types)。列表(List)和元组(tuple)都是有序的列表所以统称为序列。Tuple是一组用括号括起来、逗号分隔的数据。Tuple中的元素也可以是任何类型的,但tuple和list的区别在于list是可变的,但tuple是不可变的,即tuple一旦定义了其元素就已经确定,不能对其想list一样进行append()、inset()、pop()和赋值操作,只能进行元素的获取。
56 0
Python知识点笔记-列表list、元组tuple和dict类型
Python知识点笔记-列表list、元组tuple和dict类型
47 0
python 数据结构 元组 tuple
tuple使用场景 Tuple 比 list 操作速度快。如果您定义了一个值的常量集,并且唯一要用它做的是不断地遍历它,请使用 tuple 代替 list。
1035 0
Python探索记(12)——元组Tuple
# @Time : 2017/7/5 20:54 # @Author : 原创作者:谷哥的小弟 # @Site : 博客地址:http://blog.csdn.net/lfdfhl # @DESC : 元组Tuple ''' 元组Tuple与列表List非常类似,不同之处在于: 1 列表中的元素可以修改,但是元组的元素不能修改。
791 0
Python编程:定时任务apscheduler框架
Python编程:定时任务apscheduler框架
29 0
+关注
向阳逐梦
人生享受编程,编程造就人生。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Python系列直播第一讲——Python中的一切皆对象
立即下载
Python 脚本速查手册
立即下载
Python第五讲——关于爬虫如何做js逆向的思路
立即下载