Python元组(tuple)
1.定义:Python 的元组与列表类似,不同之处在于元组的元素不能修改。
2.元组使用小括号 ( ),列表使用方括号 [ ]。
创建元组
1.定义:元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
2.存放相同类型的数据
3. 存放不同类型的数据
tup1 = (1, 2, 3, 4, 5 )
tup2 = ( 'hqyj', 2004)
4.不需要括号也可以
tup3 = "a", "b", "c", "d"
5.只包含一个元素(元组中只包含一个元素时,需要在元素后面添加逗号 ,否则括号会被当作运算符使用)
tup3=(10)#这种圆括号不是元组的圆括号,它是括号运算符
print(tup3) # 10
tup3=(10,)#表示只有一个元素的元组,不是有两个元素的元组
print(tup3) # (10,)
tup3=10,
print(tup3) # (10,) 表示只有一个元素的元组,不是有两个元素的元组
a=100
tup3=a,# 表示只有一个元素的元组,不是有两个元素的元组
print(tup3) # v(100,)
访问元组
1. 元组与字符串类似,下标索引从 0 开始,可以进行截取,组合等。
2.元组也是一种数据容器,可通过索引下标进行获取
x=10,20,30
print(x[2]) # 30
print(x[-1]) #30
print(x[0:]) #(10, 20, 30)
3.补充
x=(10,20,"hello")
a,b,c=x # 相当于a=x[0] b=x[1] c=x[3]
print(a,b,c) #10 20 hello
a,b,c=(10,20,"hello")#相当于 表示将元组中的元素分别取出来赋值给分别的变量
print(a,b,c) #10 20 hello
a,b,c=10,20,"hello"
print(a,b,c) # 10 20 hello
修改元组
1.元组中的元素值是不允许修改的,但我们可以对元组进行连接组合
2.补充:数字和字符串不可以修改
x=10#x变量是可以重新赋值为新的数据,但是x中保存的数字本身是不可以改变的
x=20
print(x)
x=[10,20,30]
x[0]=1000#x没有变
3.元组中的列表中的元素可以进行修改,但不可以该元组中的列表本身
x=(10,20,30,[1,2,3])
print(x[0]) #10
# x[0]=100#报错
x[3][0]=999#元组中的列表中的元素可以进行修改,但不可以该元组中的列表本身
print(x) #(10, 20, 30, [999, 2, 3])
# 创建一个新的元组
x1=(102,103,0)
x2=("hello","hqyj","人工智能")
x3=x1+x2
print(x3)#(102, 103, 0, 'hello', 'hqyj', '人工智能')
x=(10,20,30,40)
x2=x*10
print(x2)#可通过乘法扩大元组的长度,得到一个新的元组,重复十次
# x[4]=10
# print(x)#出错,但不可通过任何方式进行添加
x3=x*0#让元组为空
print(x3)#()
print(x)# (10, 20, 30, 40) 不修改元数据,返回一个新数据
删除元组
1.元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
tup = ('openAI', 'hqyj', 100, 200)
print (tup)
del tup
print (tup)#name 'tup' is not defined
元组运算符
1.与字符串一样,元组之间可以使用 +、+=和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。 元组相加
Python 表达式 | 结果 | 描述 |
---|---|---|
len((1, 2, 3)) | 3 | 计算元素个数 |
(1, 2, 3)+(4, 5, 6) | (1, 2, 3, 4, 5, 6) | 连接得到一个新的元组 |
('Hi!',) * 4 | ('Hi!', 'Hi!', 'Hi!', 'Hi!') | 复制 |
3 in (1, 2, 3) | True | 元素是否存在 |
for x in (1, 2, 3): print (x) | 1 2 3 | 迭代 |
x=10,20
x2=30,40
x3=x+x2 # (10, 20, 30, 40) 拼接
print(x3)
t=(10,20,30)
a=100
c=a in t
print(c)#False
#遍历取出元组数据
x=(123,100,300,255)
for el in x:
print(el)#使用数据
#函数和元祖往往结合在一起使用,用于设计API多参数/多返回值的场景
x,y=10,20
_,img=127,"我是一张图片"#下划线变量名(公约)是大家常用的一种写法
元组不可变
1.所谓元组的不可变指的是元组所指向的内存中的内容不可变。
tup = (1, 2, 3, 4, 5, 6, 7)
tup[1] = 100
print(tup)#报错'tuple' object does not support item assignment
元组常用API(Python元组包含了以下内置函数)
len(tuple)、max(tuple)、min(tuple)
1.len(tuple):返回元组中元素个数。
2.max(tuple):返回元组中元素最大值。
3.min(tuple):返回元组中元素最小值。
tuple(list)
1.tuple(list):将列表转换为元组。
x=tuple([10,20,30,40])# 未来函数设计就可能会涉及使用到它(得到的是列表希望返回多个数据)
print(x)#(10, 20, 30, 40)
print(list(x))# [10, 20, 30, 40] 元组转列表
print(tuple(x))# (10, 20, 30, 40) 列表转元组