python基础教程之元组操作使用详解
简介 tuple 1.元组是以圆括号“()”包围的数据集合,不同成员以“,”分隔。通过下标进行访问 2.不可变序列,可以看做不可变的列表,与列表不同:元组中数据一旦确立就不能改变(所以没有类似列表的增删改操作,只有基本序列操作) 3.支持任意类型,任意嵌套以及常见的序列操作 4.元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变 声明及使用 复制代码 代码如下: t = () #空元组 t =(1,) #单个元素元组,注意逗号必须 t =(1,2,3)
#其他同序列基本操作:分片,索引 #不会对原来元组造成影响 #列表元组转换 #字符串转元组(得到字符元组序列) 查看帮助 复制代码 代码如下: help(tuple) 用途 1.赋值 复制代码 代码如下: t = 1,3 #等价 t = (1,3) x,y,z = t #序列拆封,要求左侧变量数目和右侧序列长度相等 2.函数多个返回值 复制代码 代码如下: def test(): return (1,2) x,y = test() 3.传参[强制不改变原始序列] 复制代码 代码如下: def print_list(l): t = tuple(l) #或者t = l[:] dosomething() 4.字符串格式化 复制代码 代码如下: print '%s is %s years old' % ('tom',20) 5.作为字典的key 优点 tuple比列表操作速度快 若需要定义一个常量集,或者是只读序列,唯一的操作是不断遍历之,使用tuple代替list 复制代码 代码如下: >>> a = tuple(range(1000)) >>> b = range(1000) >>> def test_t(): ... for i in a: ... pass ... >>> def test_l(): ... for i in b: ... pass ... >>> from timeit import Timer >>> at = Timer("test_t()","from __main__ import test_t") >>> bt = Timer("test_l()","from __main__ import test_l") 简单测试 复制代码 代码如下: >>> at.repeat(3,100000) [1.526214838027954,1.5191287994384766,1.5181210041046143] >>> bt.repeat(3,100000) 2.不可变性 对不需要的数据进行“写保护”,使代码更加安全 不可变性,若在程序中以列表形式传递对象集合,可能在任何地方被改变,使用元组,则不能 不可变性只适用于元组本身顶层而非其内容,例如元组内部的列表可以修改 复制代码 代码如下: l = [1,3] t = (1,l) l.append(4) 不可变性提供了某种完整性,规范化,确保不会被修改,保持某种固定关系 修改的方法 复制代码 代码如下: tuple -> list -> tuple (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |