二、元组
元组是一个不可修改的,元素以逗号分隔的以小括号包围的有序序列,
可以将元组看成一个不可修改的列表。
格式:
变量名=(元素1,元素2,…)

练习1:创建元组并打印元组内容和类型

tup=('zhd','rf','zhf')
print(tup)#('zhd', 'rf', 'zhf')
print(type(tup))#<class 'tuple'>

1.访问元组
访问元组和访问列表一样,都可以使用索引和切片来获取元素。
练习1:通过索引获取‘zgf’元素

tup=('zhd','rf','zhf')
tup1=tup[1]
print(tup1)

练习2:使用for循环获取所有元素

tup=('zhd','rf','zhf')
for name in tup:
    print(name)
    
#zhd
#rf
#zhf

练习3:使用切片获取(‘rf’,’zhd’) 子元组

tup=('zhd','rf','zhf')
tup1=tup[1::-1]
print(tup1)

2.元组的合并和重复
因为元组也是有序的序列,因此支持合并“+”和重复“*”。

tup1=(1,2)
tup2=(3,4)
tup3=tup1+tup2
print(tup3)
#(1, 2, 3, 4)
tup=('helloWord',)
tup2=tup*4
print(tup2)
#('helloWord', 'helloWord', 'helloWord', 'helloWord')

3.访问多维元组
多维元组:元组中的元素还是元组
练习1:获取元组中的‘林黛玉’元素

mulit_twup=(('悟空','八戒'),('武松','林冲'),('贾宝玉','林黛玉'))
name=mulit_twup[2][1]
print(name)

4.使用多个变量接受元组中的值
格式: 变量1,变量2,…=(元素1,元素2,…)

name,age,gender=('tom',3,False)
print(name)
print(age)
print(gender)
#省略元组小括号
name,age,gender='tom',3,False
print(name,age,gender)
#序列解包
tup1,*tup2=(1,2,3,4)
print(tup1)#1
print(tup2)#[2, 3, 4]

5.修改元组

说明:Python中不允许修改元组的数据,包括不能删除其中的元素。

如果元素本身是一个可变数据类型的列表,那么其嵌套项可以被改变。

python如何输出元组某个元素的字符串 怎么输出元组中的元素_元组


6.元组一个逗号魅力

如果元组中只有一个值,如果没有逗号,变量的类型就是值的类型。

如果有逗号,则表示元组类型。

python如何输出元组某个元素的字符串 怎么输出元组中的元素_元组_02


7.tuple()函数

tuple函数的功能与list函数基本上一样的,以一个序列作为参数并把它转换为元组,如果参数是元组,那么该参数就会被原样返回。

#将字符串转换为元祖
s1='hello'
tup=tuple(s1)
print(tup)#('h', 'e', 'l', 'l', 'o')
#将列表转换成为元组
lst=[1,2,3,4,5]
tup2=tuple(lst)
print(tup2)#(1, 2, 3, 4, 5)
#将元祖转换成元组
tup3=(1,2,3,4)
tup4=tuple(tup3)
print(tup4)#(1, 2, 3, 4)

8.元组中的方法

方法

描述

index

从左往右返回第一个遇到的指定元素的索引,如果没有,报错

count

返回元组当中指定元素的个数

python如何输出元组某个元素的字符串 怎么输出元组中的元素_元组_03


9.遍历元组

遍历一维列表

for name in ('tom','jerry','张三'):
    print(name)
#tom
# jerry
# 张三

遍历二维列表

user_info=(('zs',10),('ls',11),('ww',12))
for user in user_info:
    print(user)
# ('zs', 10)
# ('ls', 11)
# ('ww', 12)

enumerate()内置函数
for循环每遍历一次enumerate()函数返回一个元组(index,value),索引从0开始

names=('tom','jerry','周四')
for name in enumerate(names):
    print(name)
# (0, 'tom')
# (1, 'jerry')
# (2, '周四')

添加枚举类型
10.元组应用场景
1.字符串格式化需要使用元组。

msg="my name is %s,age is %d"%('zs',23)
print(msg)

2.函数返回多个返回值时返回的是元组类型。

def func():
    name='hd'
    age=23
    return name,age

ret=func()
print(type(ret))#<class 'tuple'>

3.一些内置函数的返回值是元组类型
例如在网络编程中获取socket和address时返回的就是元组类型。