Python基础入门之元组tuple的使用方法详解

元组(tuple)是Python中另一种序列,和列表类似,元组也是由一系列的元素组成。元组和列表(list)的不同之处在于,列表的元素是可以更改的,可以修改元素值,删除和插入元素,列表是可变序列。而元组一旦被创建,它的元素就不可更改了,所以元组是不可变序列。一般情况下,元组用于保存无需修改的内容。

元组(tuple)的创建

元组由小括号“()”构造,元组内部的元素需要遵循相关数据类型的语法:字符串加引号,整数、浮点数、布尔值不加引号。元组的元素还可以是元组、列表。

tuple1=("python",100,3.14,True)

#小括号可以省略,只要将各元素用逗号隔开,Python就会将其视为元组
>>> tuple1="python",100
>>> print(tuple1)
('python', 100)

#也可以通过使用tuple()函数创建一个空元组。
tuple2=tuple()

#将字符串转换为元组
>>> str1="Python"
>>> tuple1=tuple(str1)
>>> print(tuple1)
('P', 'y', 't', 'h', 'o', 'n')

#将列表转换为元组
>>> list1=["python",100,3.14,True]
>>> tuple1=tuple(list1)
>>> print(tuple1)
('python', 100, 3.14, True)

#将字典转换为元组
>>> dict1={"python":3.8,"lang":"cn"}
>>> tuple1=tuple(dict1)
>>> print(tuple1)
('python', 'lang')

特别注意:当创建的元组中只有一个元素,该元素后面必须要加一个逗号,否则 Python会将它视为其它类型。

>>> tuple1=(100)
>>> type(tuple1)
<class 'int'>
  
>>> tuple1=("python")
>>> type(tuple1)
<class 'str'>
  
>>> tuple1=(100,)
>>> type(tuple1)
<class 'tuple'>
  
>>> tuple1=("python",)
>>> type(tuple1)
<class 'tuple'>

访问元组中的元素

同列表一样,可以使用方括号加索引号访问元组元素。

>>>tuple1=("python",100,3.14,True)
>>>print(tuple1[0])
python

>>>print(tuple1[-1])
True

>>>print(tuple1[1:3])
(100, 3.14)

元组相关方法及函数

#index():用于标识元组内元素的索引号。
>>>tuple1=("python",100,3.14,True)
>>>print(tuple1.index(3.14))
2

#count():找出特定元素在元组中出现的次数。
>>>tuple1=("python",100,3.14,True)
>>>print(tuple1.count(3.14))
1

#sum():计算由数字组成的元组的和。
>>> tuple1=(100,3.14)
>>>print(sum(tuple1))
103.14

#min():输出元组中的最小值。
>>> tuple1=(100,3.14)
>>>print(min(tuple1))
3.14

#max():输出元组中的最大值。
>>> tuple1=(100,3.14)
>>>print(max(tuple1))
100

元组其他操作

#元组是不可变序列,元素不能被修改,我们可以创建一个新的元组去替代旧的元组。
>>> tuple1=('python', 100, 3.14, True)
>>> tuple1=(1,2,3)
>>> print(tuple1)
(1, 2, 3)

#可以删除元组
>>> tuple1=('python', 100, 3.14, True)
>>> del tuple1
>>> print(tuple1)
Traceback (most recent call last):
  File "<pyshell>", line 1, in <module>
NameError: name 'tuple1' is not defined

#可以连接元组
>>> tuple1=('python', 100, 3.14, True)
>>> tuple2=(1,2,3)
>>> print(tuple1+tuple2)
('python', 100, 3.14, True, 1, 2, 3)
原文链接:,转发请注明来源!