元组

it2022-05-05  89

元组

有序可以重复的不可更改的

符号使用()

定义:

1.元组的创建

创建一个空元组 >>> st = () >>> st1 = tuple() >>> st, st1 ((), ()) >>> type(st), type(st1) (<class 'tuple'>, <class 'tuple'>) >>> 创建只含有一个元素的元组

需要注意的地方是:如果我们创建只含有一个元素的元组,我们必须在这仅有的一个元素后加上一个","。

>>> tl = (6) >>> tl, type(tl) (6, <class 'int'>) >>> tl = (6, ) # 只有一个元素的元组,必须加上"," >>> tl, type(tl) ((6,), <class 'tuple'>) 创建含有多个元素的元组 >>> tl = (1, 2, 3, 4, 5, 6)

和列表一样,元组的元素也可以是不同的数据类型的元素。

>>> tl = (1, "hunan", ['h', 'u', 'n', 'a', 'n'], ('I', 'love', 'python'), {"name": "Tom", "age": 18})

2.元组的基本操作

通过索引值查找对应的元素 >>> tl = (1, "hunan", ['h', 'u', 'n', 'a', 'n'], ('I', 'love', 'python'), {"name": "Tom", "age": 18}) >>> tl[4] {'name': 'Tom', 'age': 18} >>> tl[-1] {'name': 'Tom', 'age': 18} >>> tl[::-2] ({'name': 'Tom', 'age': 18}, ['h', 'u', 'n', 'a', 'n'], 1) 查找元素的索引值 >>> tl = (1, "hunan", ['h', 'u', 'n', 'a', 'n'], ('I', 'love', 'python'), {"name": "Tom", "age": 18}) >>> tl.index("hunan") 1 >>> tl.index("hunan", 1, 4) 1 >>>

注意:元组是不可变的数据类型:不能够增,删,改。

>>> tl = (1, "hunan", ['h', 'u', 'n', 'a', 'n'], ('I', 'love', 'python'), {"name": "Tom", "age": 18}) >>> tl[0] = 0 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment

注意到tl里有个列表,那么这个列表中的元素是否可以更改?

>>> tl = (1, "hunan", ['h', 'u', 'n', 'a', 'n'], ('I', 'love', 'python'), {"name": "Tom", "age": 18}) >>> tl[2] ['h', 'u', 'n', 'a', 'n'] >>> tl[2][2] = 'N' >>> tl (1, 'hunan', ['h', 'u', 'N', 'a', 'n'], ('I', 'love', 'python'), {'name': 'Tom', 'age': 18}) >>>

拼接

>>> t1 = ('a', 'b', 'c') >>> t2 = ('d', 'e', 'f') >>> t1 + t2 ('a', 'b', 'c', 'd', 'e', 'f') >>>

重复

>>> t1 * 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 + values)

二维元组

>>> tp = ((1, 2, 3), (4, 5, 6), (7, 8, 9)) >>> tp[1][1] 5

三维元组

>>> tp = (((1, 2, 3), (4, 5, 6), (7, 8, 9)), ... ((1, 2, 3), (4, "Hunan", 6), (7, 8, 9)), ... ((1, 2, 3), (4, 5, 6), (7, 8, 9))) >>> tp[1][1][1] 'Hunan' >>>

最新回复(0)