Python--基本的对象类型(元组_不可变的数据类型)

1.1.6元组

以下方法均在python解释器中进行了测试,读者复制代码时,记得去掉注释符。

#!/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必须是不可变对象,即就是必须是可哈希的

posted @ 2019-10-10 23:24  青隅  阅读(436)  评论(0编辑  收藏  举报