Python的元组(tuple)类型

1. 元组

  • 列表(list),是一个有序且可变的容器,在里面可以存放多个不同类型的元素。

  • 元组(tuple),是一个有序且不可变的容器,在里面可以存放多个不同类型的元素。

我的儿子永远不可能换成是别人,但我的儿子可以长大

1.1 定义

v1 = (1,2,3)
v2 = ("满江红","流浪地球2")
v3 = (True,1,"aa",[1,2,"bb"])

#建议在元组的最后多加一个逗号
v2 = ("满江红","流浪地球2",)
  • 建议在元组的最后多加一个逗号,用于标识他是一个元组。
#当元素中只有一个元素时,系统不会把元素认为是元组
data = (1)
data = (1,)#两者完全不同
#面试题
1.比较值 v1 = (1)和 v2 = 1 和 v3 =(1,)有什么区别?
2.比较值 v1 = ((1),(2),(3))和v2= ((l,),(2,),(3,),)有什么区别?

1.2 独有功能

1.3 公共功能

1.3.1 相加

两个元组相加生成一个新的元组

v1 = (1,2,3)
v2 = ("满江红","流浪地球2")
v3 = (True,1,"aa",[1,2,"bb"])

v4 = v1 + v2
print(v4)
#(1, 2, 3, '满江红', '流浪地球2')

1.3.2 相乘

元组*整型,将元组中的元素再生成n份,并创建一个新的列表

v1 = (1,2,3)

v2 = v1 * 3
print(v2)
#(1, 2, 3, 1, 2, 3, 1, 2, 3)

1.3.3 获取长度

v = (1, 2, 3, 1, 2, 3, 1, 2, 3)
print(len(v))
#9

1.3.4 索引

v = (1, 2, 3, 1, 2, 3, 1, 2, 3)

print(v[1])
print(v[2])
print(v[3])
#2
#3
#1

1.3.4 切片、步长

v = (1, 2, 3, 1, 2, 3, 1, 2, 3)
print(v[0:3])
print(v[::-1])
print(v[1:])
print(v[::-2])
# (1, 2, 3)
# (3, 2, 1, 3, 2, 1, 3, 2, 1)
# (2, 3, 1, 2, 3, 1, 2, 3)
#(3, 1, 2, 3, 1)

1.3.5 for循环

  • 目前只有str、list、tuple可以被for循环。
v = (1, 2, 3, 1, 2, 3, 1, 2, 3)
for item in v:
    print(item)
# 1
# 2
# 3
# 1
# 2
# 3
# 1
# 2
# 3

1.3.6 转换

其他类型转换为元组,使用 tuple(其他类型) ,目前只有字符串和列表可以转换为元组。

name = "弗洛伊德"
print(tuple(name))
#('弗', '洛', '伊', '德')

1.3.7 嵌套

由于元组和列表都可以充当容器,他们内部可以放很多元素,并且也支持元素内的各种嵌套。

t = ("科幻片","战争片","动作片",("火星救援","流浪地球"),("拯救大兵瑞恩","血战钢锯岭"),("警察故事","少林寺"))

print(t[0])
print(t[3][0])
print(t[4][1])
print(t[5][0])
print(t[3][1][0])
# 科幻片
# 火星救援
# 血战钢锯岭
# 警察故事
# 流
1.3.7.1 练习题:判断是否可以实现,如果可以请写代码实现。
li = [ "shift", [ 11,22,(88,99,100,),33],"A",("Nice","Pink",),"GG"]
#1.请将“A”修改成“B"
li[2] = "B"
print(li)
#2.请将("Nice","Nike",)修改为("很好","粉色",)
li[3] = ("很好","粉色",)
print(li)
#3.请将88修改为87
li[1][2] = (87,99,100,)
print(li)
#4.请将"GG”删除,然后再在列表第0个索引位置插入“奥利给"
li.remove("GG")
#li.pop(len(li)-1)
print(li)
li.insert(0,"奥利给")
print(li)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值