Python元组

Python元组


Python中的元组和列表其实很类似,只是元组中的元素不能修改。
元组使用括号()而列表用的是方括号[]。
元组的格式,在括号中添加元素,并使用逗号隔开即可。
实例:

tup1 = ('name','is','jiumu',2000)
tup2 = (1,2,3,4,5)
tup3 = 1,2,3,4,5,6
print(tup3)
#输出tup3的数据类型
print(type(tup3))

输出:

(1, 2, 3, 4, 5, 6)
<class 'tuple'>

需要注意的是:元组中只包含一个元素时,需要在元素后面添加逗号 “,”,否则括号会被当作运算符使用。

#没有在元素后面加逗号",",会显示数据类型是整型
tup4 = (50)
print(tup4)
print(type(tup4))
#在元素后面加上逗号","会显示数据类型是元组
tup5 = (50,)
print(tup5)
print(type(tup5))

输出:

50
<class 'int'>
(50,)
<class 'tuple'>

访问元组:元组与字符串类似,下标索引从 0 开始,可以进行截取,组合等,可以使用下标索引来访问元组中的值,如下实例:

#访问列表中的元素
tup = (1,"one",'two',3)
tup1 = (8,9,10,'abcd')
print("tupe[0]:",tup[0])
print("tup1[2,3]:",tup1[2:4])

输出:

tupe[0]: 1
tup1[2,3]: (10, 'abcd')

修改元组:元组中的元素值是不允许修改的,但可以对元组进行连接组合,如下实例:

#修改元组
tup1 = (12,13,14,15)
tup2 = ('jm','xxs')
#以下修改元组元素时非法的
#tup1[0] = 100
#print(tup1)
#将元组元素组合起来
tup3 = tup1 + tup2
print(tup3)

输出:

(12, 13, 14, 15, 'jm', 'xxs')

删除元组:元组中的元素是不能删除的,但是整个元组是可以删除的,可以使用del语句来删除元组,如下实例:

#删除元组
tup = ("name","jiumu","九牧",2000)
print(tup)
#del用来删除元组
del tup
print("删除后的元组tup:",tup)

元组被删除后,输出变量会有异常信息,输出如下所示:

 File "F:\python\Day8元组.py", line 38
    tup = ("name","jiumu","九牧",2000)
                              ^
SyntaxError: invalid character ',' (U+FF0C)

元组运算符:

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, end=" ")1 2 3=迭代

元组索引,截取:元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:

#元组索引,截取
tup = ('a','b','c','d','e','f','g')
#读取tup元组的第一个元素
print("tup[0]的值是:",tup[0])
#读取tup元组倒数第二个元素
print("tup[-2]:",tup[-2])
#截取元素,从第二个开始后的所有元素
print(tup[1:])
#截取元素,从第二个开始到第四个元素(索引为3)
print(tup[1:4])

输出:

tup[0]的值是: a
tup[-2]: f
('b', 'c', 'd', 'e', 'f', 'g')
('b', 'c', 'd')

元组的内置函数主要包括以下函数:

#元素内置函数
#计算元组的个数
tup = ("九牧","csdn","元组")
print("返回tup元组个数:",len(tup))
#将可迭代系列转换为元组
list1= ['Google', 'Taobao', 'Runoob', 'Baidu']
tuple1=tuple(list1)
print(tuple1)
#返回元组中元素最大值
tup1 = (1,3,5,6)
print("返回tup1元组中的最大值:",max(tup1))
#返回元组中元素最小值
print("返回tup1元组中的最小值:",min(tup1))

最后关于元组是不可变的,所谓元组的不可变就是指元组里的内容不可变

tup = ('r', 'u', 'n', 'o', 'o', 'b')
tup[0] = 'g'     # 不支持修改元素,这里会报错

属出:

Traceback (most recent call last):
  File "F:\python\Day8元组.py", line 73, in <module>
    tup[0] = 'g'     # 不支持修改元素,这里会报错
TypeError: 'tuple' object does not support item assignment
#查看内存地址
print(id(tup))
tup = (1,2,3,4)
print(id(tup))# 内存地址不一样了

输出:

2475778759008
2475778618960

所以以上实例可以看出,重新赋值的元组 tup,绑定到新的对象了,不是修改了原来的对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值