Python学习-day10(数据容器---元组的定义和操作)

列表是可以被修改,如果想要在传输过程中数据不被修改,就使用元组。元组一经定义就,就不得修改。

元组(tuple),元组可以有多个数据类型

元组用小括号()来表示其元素,定义。

定义元组

语法结构:

普通定义:

变量名=(int型,Boolean型,String型)

变量名=tuple()

变量名=()

注意:如果元组只有一个元素则:必须加一个逗号,否则不是元组。

即:变量名=(1,)

嵌套元组,和list一样

变量名=((,),(,))

从下标索引,获取元组数值

变量名=元组名[][]

代码示例:
#定义元组
t1=(1,True,"hello")
t2=()
t3=tuple()
print(f"t1的类型是:{type(t1)}",t1)
print(f"t2的类型是:{type(t2)}",t2)
print(f"t3的类型是:{type(t3)}",t3)
#定义单个元素的元组
t4=("hello")
print(f"t4的类型是:{type(t4)}",t4)
t4=("hello",)
print(f"t4的类型是:{type(t4)}",t4)
#嵌套元组
t5=((1,2,3),(4,5,6))
print(f"t5的类型是{type(t5)}内容是{t5}")
#下标索引取出内容
num=t5[1][2]
print(f"从嵌套元组中取到的数据:{num}")

输出: 

t1的类型是:<class 'tuple'> (1, True, 'hello')
t2的类型是:<class 'tuple'> ()
t3的类型是:<class 'tuple'> ()
t4的类型是:<class 'str'> hello
t4的类型是:<class 'tuple'> ('hello',)
t5的类型是<class 'tuple'>内容是((1, 2, 3), (4, 5, 6))
从嵌套元组中取到的数据:6

元组的相关方法:

1.index()方法

语法结构:

变量名=元组名.index(需要查找的元素)

代码示例:
t6=("123","456","789")
index=t6.index("789")
print(f"在t6查找789,的下标为:{index}")

输出: 在t6查找789,的下标为:2

2.cout()方法

语法结构:

变量名=元组名.count(需要查找的元素)

代码示例:
t7=("123","123","789")
num=t7.count("123")
print(f"在元组t7中统计123的数量为:{num}")

输出: 在元组t7中统计123的数量为:2

3.len()方法

语法结构:

变量名=len(需要计算的元组名)

代码示例:
t8=("123","456","789","yuan","shen")
num1=len(t8)
print(f"元组t8中元素的个数为:{num1}")

输出:元组t8中元素的个数为:5 

 元组的遍历:

while循环:

结构体在分支结构学习过了

所以直接上代码:
index=0
while index<len(t8):
    print(f"t8中的元素有:{t8[index]}")
    index+=1

输出:

t8中的元素有:123
t8中的元素有:456
t8中的元素有:789
t8中的元素有:yuan
t8中的元素有:shen 

for循环:

代码:
for element in t8:
    print(f"2t8中的元素有:{element}")

输出:

2t8中的元素有:123
2t8中的元素有:456
2t8中的元素有:789
2t8中的元素有:yuan
2t8中的元素有:shen

尝试修改元组的元素,和修改元组的特例:

尝试修改元组:

代码:
t8[0]="itheima"

输出:TypeError: 'tuple' object does not support item assignment

特例:元组内嵌套一个list,是可以修改list中的元素

代码:
t9=(1,2,["123","456","789"])
print(f"t9的内容是:{t9}")
t9[2][0]="111"
print(f"t9的内容是:{t9}")

输出:

t9的内容是:(1, 2, ['123', '456', '789'])
t9的内容是:(1, 2, ['111', '456', '789'])


不积跬步无以至千里,不积小流无以成江海。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值