元组
是一个有序,可重复的,不可更改的对象。
特点:
1.与list类似,也是用来存储多个值。
2.不可变类型数据,只能是在定义时初始化,初始化后就无法再修改。
3.元组使用的是()
元组的基本使用格式
(元素1,元素2,...,元素n)
基本描述:
元组是用()包裹起来的多个元素的数据类型,每个元素之间用“,”隔开。
1.元组的创建
- 创建一个空元组
>>> t1=()
>>> type(t1)
<class 'tuple'>
>>>
-
创建只含有一个元素的元组
需要注意的地方是:如果我们创建只含有一个元素的元组,我们必须在这仅有的一个元素后加上一个“,”。
>>> t1=(6)
>>> t1,type(t1)
(6, <class 'int'>)
>>>
>>> t1=(6,) #只有一个元素的元组,必须加上","
>>> t1,type(t1)
((6,), <class 'tuple'>)
>>>
- 创建含有多个元素的元组
>>> t1=(1,2,3,4,5,6)
和列表一样,元组的元素也可以是不同的数据类型的元素。
2.元组的基本操作
查
- 通过索引值查找对用的元素
t1=(1,"hunan",['h','u','n','a','n'],('I','love','python'),{'name':"tom","age":18})
print(t1[4])
#结果:{'name': 'tom', 'age': 18}
print(t1[-1])
#结果:{'name': 'tom', 'age': 18}
print(t1[-2])
#结果:({'name': 'tom', 'age': 18}, ['h', 'u', 'n', 'a', 'n'], 1)
- 查找元素的索引值
t1=(1,"hunan",['h','u','n','a','n'],("I",'love','python'),{"name":"Tom","age":18})
print(t1.index("hunan"))
#结果:1
print(t1.index("hunan",1,4))
#结果:1
注意:元组是不可变的数据类型:不能够增,删,改。
t1=(1,"hunan",['h','u','n','a','n'],("I",'love','python'),{"name":"Tom","age":18})
print(t1[0]=0)
#Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment#不支持,不能更改
>>>
注意到t1里面有个列表,那么这个列表中的元素是否可以更改?
t1=(1,"hunan",['h','u','n','a','n'],("I",'love','python'),{"name":"Tom","age":18})
print(t1[2])
#结果:['h', 'u', 'n', 'a', 'n']
>>> t1[2][2]='N'
>>> t1
(1, 'hunan', ['h', 'u', 'N', 'a', 'n'], ('I', 'love', 'python'), {'name': 'Tom', 'age': 18})
>>>
拼接:
t1=('a','b','c')
t2=('d','e','f')
print(t1+t2)
#结果:('a', 'b', 'c', 'd', 'e', 'f')
重复:
>>> t=("a","b","c")
>>> t*3
('a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c')
>>>
判断元素是否存在
>>> t1=("a","b","c")
>>> "a"in t1
True
>>> "a"not in t1
False
>>>
内置函数(最大值和最小值)
>>> t1=("a","b","c")
>>> max(t1)
'c'
>>> min(t1)
'a'
>>>
元组的遍历
1)值遍历
>>> tp=("python","java","c++")
>>> for i in tp:
... print(i,end=" ")
#结果:python java c++
2)索引遍历
>>> tp=("python","java","c++")
>>> for i in range(len(tp)):
... print(tp[i],end=" ")
#结果:python java c++
3)索引值,遍历
枚举(enumerate),对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。
>>> tp=("python","java","c++")
>>> for index,value in enumerate(tp):
... print(index,":",value)
...
# 0 : python
# 1 : java
# 2 : c++
>>> tp=("python","java","c++")
>>> for index,value in enumerate(tp,6):
... print(index,":",value)
...
6 : python
7 : java
8 : c++
>>>
print(index+value)
二维元组
>>> tp=((1,2,3),(4,5,6),(7,8,9))
>>> tp[1][1]
5
>>>
三维元组
>>> tp=(((1,2,3),(4,5,6),(7,8,9)),)
>>> tp[0][1][1]
5
>>>