本文目录一览:
- 1、python什么是元组?
- 2、Python中的元组(Tuple)
- 3、python里面元组是什么意思?
- 4、Python元组常用操作小技巧
- 5、python自学笔记13:元组和字典的操作
- 6、学习Python元组,有哪些必须要掌握的内容
python什么是元组?
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号定义,列表使用方括号定义。
例如:
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
元组与列表类似,下标索引从0开始,使用下标来访问数据。但元祖中,元素值是不允许修改的。
Python中的元组(Tuple)
在Python中,元组(Tuple)与列表(List)类似,也是一个有序的序列,但元组是一个不可变对象,其一旦初始化后便无法进行修改。
一般在创建元组时,分为创建空元组和非空元组,其创建方式如下:
从上面可以看到,我们只需要把元组的所有元素放在 小括号 () 里面,每个元素之间通过 逗号 , 间隔起来即可,当然和列表一样,元组中同样允许存放不同数据类型的元素。
元组中使用的 () 是常见的数学运算符,如果参考列表的创建,如下:
从上面可以看到,我们创建出来的压根就不是元组类型。那么我们想创建一个只包含一个元素的元组时,需要怎么创建呢?
很简单,只需要在元素后加上一个 逗号 , ,这样创建出来就是一个元组。
当我们需要访问元组中的元素,可以类似列表一样通过索引取值或切片取值。
如果访问的索引不存在,那么会报错: IndexError: tuple index out of range
在元组中,可以像列表一样使用切片,语法为: 元组[start:end:step] ,通过切片可以获取到元组中指定范围的元素,返回结果是一个新元组。在这里,需要注意切片的规则是左闭右开,也就是说包含头部 start,但不包含尾部 end ,而 step 则表示切片的步长,需要每间隔 step 个元素取一次。
在上面我们提到了元组是不可变的,这就意味着我们创建一个元组之后,不能再去改变其值了,比如下面这样就会出现报错:
假设元组中存在元素是一个可变对象,如果我们不改变元组,但改变了可变对象的值,又会得到怎么的结果呢?请看下面实例:
从上面可以看到,元组中的第 2 个元素似乎发生了变化,这岂不是和上面说的元组不可变自相矛盾了吗?
其实,我们说的元组不可变,指的是元组中各元素的指向永远保持不变。在上面操作中,元组中第 2 个元素指向的一直是 列表nums ,我们改变的其实不是元组的元素,而只是改变了 列表nums 中的元素。
元组是不可变的,因此我们就不能删除元组中的元素,但是,我们可以通过 del 语句删除整个元组。
通过关键字 in ,可检查当前元组中是否包含指定元素,返回结果为布尔值 True 或 False。
通过关键字 in ,还可以用于遍历当前元组。
python里面元组是什么意思?
元组其实和列表的差距并不是很大,但是也有其独立的特点:
①元组是一系列不可变的Python对象。元组是一种序列,就像列表一样;列表通常用来存储相同类型的数据;而元组在实际开发中,通常用来存储不同类型的数据。
②元组和列表之间的主要区别是元组不能像列表那样改变元素的值,可以简单地理解为“只读列表”。 元组使用小括号 -(),而列表使用方括号 -[];
③元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
p class="ztext-empty-paragraph"
创建元组:需使用逗号分隔值放入小括号的一个序列。 或者,也可以将这些逗号分隔值放在括号之间。
元组元素的访问:请使用方括号进行指定索引切片或索引,以获取该索引处的值。
更改元组:元组是不可变的,但是可以使用现有元组的一部分来创建新的元组。
删除元组元素:元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。
python元组构建了对象的简单组合,元组与列表非常相似,但元组不能在原位置修改,通常写成包在圆括号中的一系列项,且具有列表的大多数属性。
元组是:
任意对象的有序集合:与字符串和列表类似,元组是一个基于位置的有序对象集合,可以嵌入任何类型的对象。
通过偏移量存取:同字符串、列表一样,元组中的元素也是通过偏移量来访问的,支持索引和分片。
属于“不可变序列”:与字符串相同,元组是不可变的,不支持适用于列表的任何原位置修改操作。
固定长度、多样性、任意嵌套:元组不可变,所以不能改变元组长度,元组可以包含复合对象,支持任意嵌套。
对象引用数组:与列表相似,元组也是对象引用的数组,存储了指向其他对象的存取点。
Python元组常用操作小技巧
所以这篇文章,我们先来回顾和总结Python数据结构里常用操作。Python中常见的数据结构可以统称为容器(container)。序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器。而扁平序列如str、bytes、bytearray、memoryview 和 array.array等不在这篇文章的讨论范围内。
在此,我们先从元组开始说起。
元组区别于列表的显著特征之一就是它不能被修改,但其另外一个作用就是 用于没有字段名的记录 [1] 。因为后者经常被忽略,我们先来看看元组作为记录的作用。
使用括号就可以定义一个元组。元组中的每个元素都存放了记录中一个字段的数据,外加这个字段的位置。正是这个位置信息给数据赋予了意义。下面的例子中,元组就被当作记录加以利用:
输出为:
上述for循环中的操作提取了元组中的元素,也叫作拆包(unpacking)。平行赋值是对元组拆包很好的应用,示例如下:
还有一个经典而优雅的应用是交换变量的值:
用 * 运算符把一个可迭代对象拆开作为函数的参数,例如Python的内置函数pmod接收两个数字类型的参数,返回商和余数。以下范例将使用 * 将元组传入函数。
输出为:
有些函数有多个返回值,将其赋给一个变量时,变量类型即是元组:
输出为:
zip是Python的内置函数,能够接收两个或多个序列,并组成一个元组列表,在Python3中会返回一个迭代器,如下所示:
输出为:
元组当然也支持一些常规操作,如对于元组 a = (1, 'y', 5, 5, 'x') :
上述内容不仅涵盖了元组的基本操作,同时也结合了实际工作中常搭配使用的其他函数、运算符等。在回顾这些知识时主要参考了两本经典的Python编程书籍:《流畅的Python》和《像计算机科学家一样思考Python》,有兴趣的朋友可以深入阅读!
希望这篇文章对你有帮助,下回将总结Python列表的使用技巧。
[1]《流畅的Python》:
python自学笔记13:元组和字典的操作
定义元组(tuple):
t1=(1,2,3,4)#多个数据元组
t2=(1,)#如果元组内只有一个数据,也需要手逗号隔开,否则这个数据将是他本身的类型。
元组的操作:
元组类型数据不支持修改,可查找
查找:
按下标查找:
print(t1[1])
函数查找:
print(t1.index(1))返回对应下标,如果数据不存在,程序将报错
print(t1.count(1))统计数据在元组当中出现的次数
print(len(t1))统计元组当中的数据个数
注意:当元组内嵌套列表数据,可以通过下标的方法对列表数据进行修改如:
t3=(1,2,["a","b"])
t3[2][0]=c #t3的值将变为(1,2,["c","b"])
——————————————————
——————————————————
定义字典(dict)
字典的特点
1:符号为{}
2:数据为键(key)值(value)对形式,每个键值对之间用逗号隔开如:
dict1={"name":"小明","age":18,"gender:男"}
字典的操作:
dict1["name"]="小红"
dict1["id"]=3
如果key存在,将修改其所对应的值。如果不存在,将在字典最后添加该键值对
2.删除数据
del():删除字典或删除字典内的键值对
del dict1["name"] 删除字典内的键值对,如果删除的key不存在,程序将会报错
del(del)删除字典
clear(dict1) 清空字典
3.查找数据
一.按照key进行查找,最后返回相对应的值
二.按函数进行查找:
(1) get(key,默认值):
如果查找的key不存在则返回所写的默认值,如果不写默认值则返回None
dict1={"name":"小明","age":18,"gender:男"}
print(dict1.get("name")) #小明
print(dict1.get("id",110)) # 110
——————————————————
(2) keys():返回字典内的所有key 可用for遍历
print(dict1.keys())
返回 ["name","age","gender"]
for key in dict1.keys():
..print(key)
逐行输出name age gender
——————————————————
(3) values(): 返回字典内的值 可用for遍历
print(dict1.values())
返回["小明",18,"男"]
for value dict1.values():
..print(value)
逐行输出小明 18 男
——————————————————
(4) items():将字典内的数据以元组的形式返回
print(dict1.items()) 可用for遍历
返回[("name","小明"),("age",18),("gender","男")]
for item in dict1.items():
..print(item)
逐行输出 ("name","小明") ("age",18)("gender","男")
——————————————————
遍历字典键值对(拆包) 可在for内使用两个临时变量
dict1={"name":"小明","age":18,"gender:男"}
for key,value in dict1.items():
..print(f"{key}=value")
逐行输出:
name=小明 age=18 gender=男
学习Python元组,有哪些必须要掌握的内容
学习Python元组,有哪些必须要掌握的内容?
1.Python元组
定义
元组是Python的一种内建数据结构。关于元组:
1、元组属于序列,可以存放任意元素(任意类型对象),且有序(前后位置关系)。
2、元组支持整数索引访问其中的数据,也支持切片。
3、元组和列表不同是,元组不可变,列表可变。
元组不可变,某些操作比列表高效。
创建元组
可以用以下两种方法创建元组:
1、使用()创建
2、使用构造函数tuple()
图:使用()创建元组
使用()可以创建元组,元组元素间使用”,”分隔,元组内部元素可以是任意元素,也可以是元组。
图:创建元组代码示例
元组不可变除了不能修改,也不能删除元组元素,但删除与元组绑定的变量是没问题的。
图:元组不可变
使用()方式创建只有一个元素的元组时要注意,因为一个元素使用()括起来,表示元素本身,如100, (100),两者等价,如果创建只包含100的元组应该使用:(100,)方式。
图:使用()创建只有一个元素的元组
使用构造函数tuple()创建元组。了解更多信息可以使用help(tuple)来查看具体帮助内容。
图:tuple函数帮助
1、tuple()如果没有参数创建一个空元组。
2、tuple(可迭代对象) 由可迭代对象创建一个元组,如字符串,列表。如果参数是元组将返回该元组。
图:使用tuple函数创建元组
2.元组的访问
和字符串列表一样,元组支持使用整数索引(下标方式访问),也支持切片方式访问元组的元素。
下标索引如果是正整数则从0开始表示第一个元素,…… 最有一个元素用 元组长度-1表示;如果使用负整数做下标,-1表示最后一个元素,-2表示倒数第二个元素,…… 负的长度表示第一个元素。
!!!需要注意的是下标索引不能越界!!!
1、使用索引访问:
图:使用索引访问元组元素
2、切片访问:
图:使用切片访问元组
3.使用内建的常用函数操作元组
常用内建函数len、max、min、sum、reversed可以操作元组,函数解释如下:
操作示例如下:
注意事项:
使用min,max,sum函数操作元组,元组元素类型能被函数接受才可以,否则将报异常等错误。
4.元组常用方法
主要有count和index方法:
count返回元组中对应值的个数,index返回对应值的位置(索引)。
5.元组运算
元组支持 + 连接, * 复制运算,in /not in 运算
图:元组运算
6.序列
字符串,元组,列表都属于Python的序列结构,序列具有很多相同的属性和操作方法,如:序列中的每个元素被分配一个序号(位置,也叫索引),序号(索引)从0开始,依次类推;序列都支持切片操作等等。
图:序列通用操作
Python内置了多种序列结构:字符串、列表、元组、Unicode字符串、buffer对象、range对象。序列是Python中一种重要的数据结构,必须要掌握,也很容易掌握。