元组
元组
跟列表一样,由一系列按顺序排列的元素组成,但是元素不能修改,所以也被称为不可变列表。
创建、删除
使用(),元素之间使用逗号分隔
num=(2,3,4,1,232,12) untitile = ('python',28,("人生苦短","洗洗就睡"),["爬虫",'自动化运维']) #小括号不是必须的,元组也可以这样创建 team = "马刺","火箭","勇士","湖人" print(team,type(team)) #输出为 ('马刺', '火箭', '勇士', '湖人') <class 'tuple'> #如果元组只包括一个元素,需要在元素后加一个逗号,不然定义的是字符串 verse1 = ("世界冠军",) #这是元组 verse2 = ("世界冠军") #这是字符串 print(verse1,type(verse1)) #输出为('世界冠军',) <class 'tuple'> print(verse2,type(verse2)) #输出为 世界冠军 <class 'str'> #创建空的元组 emptytuple = () #创建数值元组 #可以使用tuple()函数将range()函数循环出来的结果转换为数值元组 #tuple(data),data可以是所有可迭代对象 print(tuple(range(10,20,2))) #输出为(10, 12, 14, 16, 18) #del删除元组 #注意不能删除元组中的元素,会报错 del team #访问元组中的元素同访问列表 #修改元组中的元素,只能对其重新赋值 player = ('梅西','内马尔','C罗','莫德里奇') player = ('刘亦菲','李冰冰') print(player) #元组在进行连接时,连接的内容必须都是元组 player = ('梅西','内马尔','C罗','莫德里奇') print(player+('刘亦菲',)) #元组只有一个元素时,千万不要忘记后面的逗号
元组推导式
可以快速生成一个元组,用法跟列表推导式一样
import random randomNum = (random.randint(10,100) for i in range(10)) print(randomNum) #输出为<generator object <genexpr> at 0x000002754107CD00> #输出的是生成器对象,需要转换成元组 print(tuple(randomNum)) #输出为 (28, 25, 82, 20, 35, 54, 64, 15, 27, 48)
#通过元组推导式生成的生成器对象可以使用for循环跟__next__()方法遍历 number = (i for i in range(3)) print(number.__next__()) #输出第一个元素 print(number.__next__()) #输出第二个元素 print(number.__next__()) #输出第三个元素 #需要调用三次__next__()方法 number = (i for i in range(3)) for i in number: print(i,end=" ")
元组的内置函数
函数名 | 说明 |
cmp(tuple1,tuple2) | 比较两个元组元素 |
len(tuple) | 计算元组元素个数 |
max(tuple) | 返回元组中元素的最大值 |
min(tuple) | 返回元组中元素的最小值 |
tuple(seq) | 将列表转换为元组 |
装包与拆包
此为后续要学习的函数中的可变参数;
案例
#有多个元素进行赋值 t1 =(2,5,8,9,7) a,*d,c = t1 #将2放入a变量,5,8,9放入d变量,7放入c变量 print(a,c,d) #out: 2 7 [5, 8, 9] print(*d) #out: 5 8 9 #只有一个元素时 t1=(9,) a,*b=t1 print(a,b) #out: 9 []
学习来自:《python从入门到项目实践》明日科技 第六章
菜鸟教程
今天的学习是为了以后的工作更加的轻松!