本内容均来自在北京图灵学院Python免费全栈学习的课堂笔记
元组 - tuple
- 元组可以看成是一个不可更改的list
# 创建空元组
t = ()
print(type(t))
# 创建一个值的元组
t1 = (1,)
t2 = 1, # 不推荐这种创建方式
print(type(t1))
print(type(t2))
print(t1)
print(t2)
# 使用其他结构创建元组
l = [1,2,3,4,5]
t = tuple(l)
print(t)
执行结果:
<class 'tuple'>
<class 'tuple'>
<class 'tuple'>
(1,)
(1,)
(1, 2, 3, 4, 5)
元组的特性
- 是有序列表
- 元组数据值可以访问,不能修改,不能修改,不能修改
- 元组数据可以是任意类型
- 总之,list的所有特性,除了可修改外,元组都具有
- 也就是说list可以使用的函数,除了与修改相关的函数以外,元组都可以用
- 注意:元组的下标不能超标,切片操作可以超标
# 序列相加
t1 = (1,2,3)
print(id(t1))
t2 = (4,5,6)
t1 += t2
print(id(t1))
# tuple的不可修改是值内容的不可修改
执行结果:
2445120110024
2445104744488
# 成员检测
t = (1,2,3)
if 2 in t:
print("True")
else:
print("False")
执行结果:
True
# 元组遍历
# 双层元组遍历
t = ((1,2,3),(4,5,6),(7,8,9))
for i in t:
print(i)
# 使用下面方式遍历必须要满足元组中的嵌套元组中的数据个数都是相同的,否则不能使用该方法
for k,m,n in t:
print(k,m,n)
print("*"*20)
t1 = ((1,2,3),(4,5,6),(7,8,9))
for k in t1:
for m in k:
print(m,end=" ")
print()
执行结果:
(1, 2, 3)
(4, 5, 6)
(7, 8, 9)
1 2 3
4 5 6
7 8 9
********************
1 2 3
4 5 6
7 8 9
# min()以及index()函数案例
t = (1,1,1,3,4,5,6,6,6)
'''
下面代码输出结果为零,
由此可知,如果列表中有多个相同值的最大或最小值,
使用min()或max()函数输出的是第一个出现的最大值或最小值
'''
print(t.index(min(t)))
执行结果:
0
# 元组变量交换值
# java程序员会这么写:
a = 100
b = 200
print(a,b)
c = a
a = b
b = c
print(a,b)
# python会这么写
a,b = b,a
print(a,b)
执行结果:
100 200
200 100
100 200