AI学习之Python基础8:元祖(不可变序列)

元祖(不可变序列):组(tuple) 是一种不可变的有序集合,意味着一旦创建后就不能再修改。元组使用圆括号 () 来表示,元素之间用逗号分隔。即使元组只包含一个元素,也需要在该元素后面加上一个逗号以区别于普通的括号表达式。

1、创建元祖的2种方式:

# 创建元祖的2中方式:
# 第一种创建方式,使用()小括号
t = ('python', 'hello', 30)
print(t)  # (结果为('python', 'hello', 30))
print(type(t))  # (结果为<class 'tuple'>)
t = 'python', 'hello', 30
print('---------------')
print(t)  # (结果为('python', 'hello', 30))
print(type(t))  # (结果为<class 'tuple'>)

print('---------------')
# 第二种创建方式,使用内置函数tuple((A,B,C))
t1 = tuple(('python', 'hello', 30))
print(t1)  # (结果为('python', 'hello', 30))
print(type(t1))  # (结果为<class 'tuple'>)

2、空元组:

t1 = ()
print('空元组=', t1)
t2 = tuple()
print('空元组=', t2)

3、元祖的不可修改性和修改性:  

t = (10, [20, 30], 9)
t2 = (10, 20, 30, 9)
print(t)  # (结果为(10, [20, 30], 9))
print(t[1])  # 指的是t[1]索引为2的值(结果为[20, 30])

# t[0]=2#不能修改元祖内的元素,否则会报错TypeError: 'tuple' object does not support item assignment
# print(t[0])

t[1].append(10)  # 可以修改元祖里面的列表元素内的元素
print(t[1])  # (结果为[20, 30, 10])
print(t)  # (结果为(10, [20, 30, 10], 9))

t[1].append(10)  # 可以修改元祖里面的列表元素内的元素
print(t[1])  # (结果为[20, 30, 10])
print(t)  # (结果为(10, [20, 30, 10], 9))
print(10 in t)  # (结果为True)
print(10 not in t)  # (结果为False)
print(max(t2))  # (结果为30)
print(min(t2))  # (结果为9)
print(len(t))  # (结果为3)
print(t.index(10))  # 寻找索引(结果为0)
print(t.count(10))  # 计算出现的次数(结果为1)

# 如果元组中只有一个元素
t = (10)
print(t, type(t))  # (结果为10 <class 'int'>)

# 如果元组中只有一个元素,且需要代表是元组类型,逗号不能省略
j = (10,)
print(j, type(j))  # (结果为(10,) <class 'tuple'>)

del t  # 删除元组
# print(t)  # 删除之后再打印就会报错

4、元祖的遍历:

t = (10, [20, 30], 9)
for item in t:
    if item != 9:
        print(item, end='\t')  # (结果为10 [20, 30]    9   )
    else:
        print(item)
print('----------')
for item in range(0, len(t)):
    print(item)  # (结果为0    1   2   )

print('----------')
# 使用enumerate()
for index, item in enumerate(t):
    print(index, '--->', item)  # (结果为0 ---> 10  1 ---> [20, 30]  2 ---> 9)

print('----------')

for index, item in enumerate(t, start=11):  # 从序号11开始
    print(index, '--->', item)  # (结果为11 ---> 10  12 ---> [20, 30]  13 ---> 9)

5、元组的生成式:

t = (i for i in range(1, 4))
print(t)  # 生成器对象(结果为<generator object <genexpr> at 0x000001B154AD41C0>)

# t2 = tuple(t)  # 需要转元祖类型才能输出
# print(t2)  # (结果为(1, 2, 3))
# for item in t2:
#     print(item)  # (结果为1  2  3)

print(t.__next__())  # 若转了就tuple取不出来。取了之后就没有了 (结果为1)
print(t.__next__())  # 若转了就tuple取不出来。取数 (结果为2)
print(t.__next__())  # 若转了就tuple取不出来。取数 (结果为3)

总结:

要是觉得对您有帮助,最后别忘了请点赞收藏加关注哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值