Python--基本的对象类型(元组_不可变的数据类型)
1.1.6元组
以下方法均在python解释器中进行了测试,读者复制代码时,记得去掉注释符。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#!/usr/bin/env python # -*- coding: utf-8 -*- # ******************通过tuple类创建的对象****************** # tuple 类 元组 # 1:元组的格式 # tu = (12,24,"qe",[12,241,"1"],(12,34),) # print(tu) # 2:元组用小括号括起来,元组之间的元素以逗号隔开; # 元组中可以嵌套任意类型的对象; # 注意:元组在创建时,最好在元素最后面加一个逗号,将元组与函数参数等区分开来 # 3:元组的索引和切片 # tu = (12,24,"qe",[12,241,"1"],(12,34),) # print(tu [4][1]) # print(tu [1:3]) # 4:元组是可迭代对象,可以被for遍历 # tu = (12,24,"qe",[12,241,"1"],(12,34),) # for i in tu: # print(i) # 5:注意:元组是不可变类型的,其中的一级元素不能被修改,增加或者删除;但是二级元素如果是可变类型,则可以修改 # tu = (12,24,"qe",[12,241,"1"],(12,34),) # tu [3][2] = "999" #元组的二级元素可以被修改 # print(tu) # 6:元组与字符串和列表之间的转换 # 一:元组转换为列表 # tu1 = (12,24,"qe",[12,241,"1"],(12,34),) # li1 = list(tu) #list()方法,可以将元组转换为列表 # print(li1) # li = [] # li.extend((11,22,33,)) #也可以先定义一个空列表,用列表的extend()方法将元组追加到列表 # print(li) # 二:列表转换为元组 # li2 = [12,334,(11,22,),"qwer",[12,312]] # tu2 = tuple(li2) #tuple()方法,可以将列表转换为元组 # print(tu2) # 三:字符串转换为元组 # st1 = "1234qwer" # tu1 = tuple(st1) #tuple()方法,可以将字符串转换为元组 # print(tu1) # 元组转换为字符串,类比列表转换为字符串,分情况转换 # 四:元组里面全部都是字符串,可以通过jion来讲元组转换为字符串 # tu = ("hello","world","i","am","19","age",) # st = " ".join(tu) #可以设置连接符 # print(st) # 五:元组里面不全都是字符串,通过for循环来转换为字符串 # tu = ("i","am",19,"years","old",) # st = "" # for i in tu: # st = st + str(i) # print(st) # ******************tuple类中提供的方法****************** # 1:count()方法:计算元组中一级元素出现的个数 # tu = (12,24,"qe",[12,241,"1"],(12,34),) # print(tu.count(12)) #count只会计算一级元素的个数 # 2:index()方法:查找元素的索引 # tu = (12,24,12,"qe",[12,241,"1"],(12,34),) # print(tu.index(12)) #index只会查找元素第一次出现的索引
元组的优点:
--1:元组比列表的操作速度快,如果需要不断地遍历一个值,可以使用元组代替列表
--2:对不需要的数值进行写保护,即就是该值是常量时可以使用元组;如果需要修改,可以将元组转换为列表进行修改
--3:元组可以作为字典的key(键),因为元组是不可变对象,字典的key必须是不可变对象,即就是必须是可哈希的
为了将来做自己想做的事情努力.......