元组是 Python 对象的集合,跟列表十分相似。下面进行简单的对比。
列表与元组
1、python中的列表list是变量,而元组tuple是常量。
列表:是使用方括号[],元组:则是使用圆括号()
2、两者都可以使用索引读取值
列表
1.列表中的append()和extend()
都是对列表增加元素的方法,都不支持多参数
但是append()向列表中添加一个作为整体的对象,
extend()是把一个可迭代对象的内容迭代添加到列表中
2. 列表中的remove()、pop()和del
remove:删除单个元素,删除首个符合条件的元素,按值删除,返回值为空
pop:删除索引位置元素,无参情况下删除最后一个元素,返回删除的元素值
del:简单粗暴,可传索引值参数删除符合条件的元素,也可不接参数整个删除
元组
存储在元组中的值序列可以是任何类型的,并且它们由整数编制索引。
元组的值在语法上用"逗号"分隔。
但通过关闭括号中的值序列来定义元组更为常见。
创建一个空元组与创建带一个元素的元组
在 Python 中,通过放置用"逗号"分隔的值序列(带或不使用括号来分组数据序列)来创建元组。
注 :创建不使用括号的 Python 元组称为元组打包。
tup1 = () # 创建空元组tup2 = (1, )#元组中只包含一个元素时,需要在元素后面添加逗号
Python 程序演示在元组中添加的元素
# Creating a Tuple with# the use of listlist1 = [1, 2, 4, 5, 6]print("Tuple using List: ")print(tuple(list1)) #Creating a Tuple #with the use of built-in functionTuple1 = tuple('geeen')print("Tuple with the use of function: ")print(Tuple1)
输出:
Initial empty Tuple: ()Tuple with the use of String: ('Geeks', 'For')Tuple using List: (1, 2, 4, 5, 6)Tuple with the use of function: ('G', 'e', 'e', 'e', 'n')
Python的元组与列表类似,不同之处在于元组的元素不能修改。
删除元组
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例:
tup = ('physics', 'chemistry', 1997, 2000)print(tup)del tupprint("After deleting tup:")print(tup)
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
tup1 = ('physics', 'chemistry', 1997, 2000)tup2 = (1, 2, 3, 4, 5 )tup3 = "a", "b", "c", "d"
元组与字符串类似,下标索引从0开始,可以进行截取,组合等。
修改元组
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:
tup1 = (1,2,3,4)tup2 = ('abc', 'xyz') # 以下修改元组元素操作是非法的。# tup1[0] = 100 # 创建一个新的元组tup3 = tup1 + tup2print (tup3)
元组运算符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
元组索引,截取(切片)
因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:
L =('spam','Spam','SPAM!')
无关闭分隔符
任意无符号的对象,以逗号隔开,默认为元组,如下实例:
print ('abc', -4.24e93, 18+6.6j, 'xyz')x, y = 1, 2print ("Value of x , y : ", x,y)
访问元组
元组是不可变的,通常,它们包含一系列异构元素。
这些元素是通过解包或索引(甚至按属性在命名元组的情况下访问)。
列表是可变的,并且其元素通常是同质的,并且通过遍该列表进行遍时访问。
注意:左侧元组数的变量时,应等于给定元组 a 中的值数。
tup1 = () # 创建空元组tup1 = ('physics', 'chemistry', 1997, 2000)tup2 = (1, 2, 3, 4, 5, 6, 7 )print ("tup1[0]: ", tup1[0])print ("tup2[1:5]: ", tup2[1:5])
图组串联
元组串联是两个或更多元组连接的过程。其他算术运算不适用于元对元。
串联通过使用"+"运算符完成。元组串联始终从原始元组末尾完成。
注意 -只有相同的数据类型可以与串联结合,如果将列表和元组组合在一起,则会出现错误。
# Concatenaton of tuplesTuple1 = (0, 1, 2, 3)Tuple2 = ('Geeen', 'For', 'Geeen') Tuple3 = Tuple1 + Tuple2 # Printing first Tupleprint("Tuple 1: ")print(Tuple1) # Printing Second Tupleprint("Tuple2: ")print(Tuple2) # Printing Final Tupleprint("Tuples after Concatenaton: ")print(Tuple3)
输出:
Tuple 1: (0, 1, 2, 3)Tuple2: ('Geeen', 'For', 'Geeen')Tuples after Concatenaton: (0, 1, 2, 3, 'Geeen', 'For', 'Geeen')
删除元组
元组是不可变的,因此它们不允许删除其中的一部分。使用 del() 方法将删除整个元组。
注意 -删除后打印元组结果为错误。
# Deleting a Tuple Tuple1 = (0, 1, 2, 3, 4)del Tuple1 print(Tuple1)
内置方法
所有()如果所有元素都为 true 或元组为空,则返回 true
任何()如果元组的任何元素为 true,返回 true。如果元组为空,则返回 false
枚举()返回元组枚举对象
最大值()返回给定元组的最大元素
最小()返回给定元组的最低元素
总和()汇总元组中的数字
排序()在元组中输入元素并返回新的排序列表
元组()将可重复转换为元组。