Python学习之路-元组

简介: 元组是有序且不可更改的集合。在 Python 中,元组是用圆括号编写的。

元组:tuple

  元组是一个不可变的序列,他的操作方式基本上和列表一样,所以在操作元组是,就可以把元组当成是一个不可变的列表。一般我们希望数据不变的时候,就用元组。其他情况用列表。

创建元组

# 使用()来创建元组my_tuple=() # 创建了一个空元组print(my_tuple,type(my_tuple))
my_tuple=(1,2,3,4,5)  # 创建了一个5个元素的元组print(my_tuple,type(my_tuple))

得到的结论是:(1, 2, 3, 4, 5) <class 'tuple'>


my_tuple=(1,2,3,4,5)  # 创建了一个5个元素的元组print(my_tuple,type(my_tuple))
my_tuple[1]=0print(my_tuple)

尝试给元组中的元素重新赋值会报错:'tuple' object does not support item assignment


my_tuple=1,2,3,4,5print(my_tuple,type(my_tuple))

image.png

当元组不是空元素的时候,括号可以省略


my_tuple=1,
print(my_tuple,type(my_tuple))

如果元组不是空元素的时候,它里面至少要有一个逗号(,)。如果没有逗号,那么就不是元组了,而是int类型了。例如:

my_tuple=1print(my_tuple,type(my_tuple))

image.png


特殊用法:元组的解包(解构)

解包指就是将元组当中每一个元素都赋值给一个变量

举个例子:

my_tuple=1,2,3,4,5,6a,b,c,d,e,f=my_tupleprint('a=',a)
print('b=',b)
print('c=',c)
print('d=',d)
print('e=',e)
print('f=',f)

得到的结论是:

image.png


在对一个元组进行解包时,变量的数量必须和元组中的元素的数量一致,如果不一致就会报错

例如:

my_tuple=1,2,3,4,5,6a,b,c=my_tupleprint('a=',a)
print('b=',b)
print('c=',c)

报错:ValueError: too many values to unpack (expected 3)

假如我们有100个变量,只需要前10个,我们可以在变量前添加一个 *,这样变量将会获取元组中所有剩余的元素。但是不能同时出现两个或以上的 * 变量

my_tuple=1,2,3,4,5,6a,b,*c=my_tupleprint('a=',a)
print('b=',b)
print('c=',c)

得到的结论是:

image.png

此外,不光是元组可解包,列表还有字符串都可以进行解包

my_tuple='hello'a,b,*c=my_tupleprint('a=',a)
print('b=',b)
print('c=',c)

image.png


相关文章
|
22天前
|
数据处理 索引 Python
【Python学习篇】Python实验小练习——文件操作(十一)
【Python学习篇】Python实验小练习——文件操作(十一)
31 1
|
22天前
|
存储 缓存 算法
【Python学习篇】Python实验小练习——循环结构(八)
【Python学习篇】Python实验小练习——循环结构(八)
16 1
|
2天前
|
Python
|
4天前
|
Python
Python中元组解包
【6月更文挑战第18天】
13 5
|
1天前
|
存储 索引 Python
字符串、列表、元组、字典(python)
字符串、列表、元组、字典(python)
|
3天前
|
SQL 小程序 数据库连接
【Python学习】Python基础必背的内容
【Python学习】Python基础必背的内容
15 1
|
5天前
|
Python
python 中列表和元组的解包
【6月更文挑战第17天】
15 1
|
12天前
|
Python
GitHub爆赞!终于有大佬把《Python学习手册》学习笔记分享出来了
这份笔记的目标是为了给出一份比较精炼,但是又要浅显易懂的Python教程。《Python学习手册》中文第四版虽然比较简单,但是措辞比较罗嗦,而且一个语法点往往散落在多个章节,不方便读者总结。 我在做笔记时,将一个知识点的内容都统筹在一个章节里面,因此提炼性大大提高。而且还有《Python学习手册》中文第四版的翻译在某些章节(可能难度较大?)措辞可能前后矛盾。当知识点提炼之后就能够很快的找到一些难以理解的概念的上下文,方便吃透这些难点。
GitHub爆赞!终于有大佬把《Python学习手册》学习笔记分享出来了
这份笔记的目标是为了给出一份比较精炼,但是又要浅显易懂的Python教程。《Python学习手册》中文第四版虽然比较简单,但是措辞比较罗嗦,而且一个语法点往往散落在多个章节,不方便读者总结。 我在做笔记时,将一个知识点的内容都统筹在一个章节里面,因此提炼性大大提高。而且还有《Python学习手册》中文第四版的翻译在某些章节(可能难度较大?)措辞可能前后矛盾。当知识点提炼之后就能够很快的找到一些难以理解的概念的上下文,方便吃透这些难点。
|
15天前
|
存储 索引 Python
Python零基础入门-5 数据结构(列表和元组
Python零基础入门-5 数据结构(列表和元组