简介
tuple
1.元组是以圆括号“()”包围的数据集合,不同成员以“,”分隔。通过下标进行访问
2.不可变序列,可以看做不可变的列表,与列表不同:元组中数据一旦确立就不能改变(所以没有类似列表的增删改操作,只有基本序列操作)
3.支持任意类型,任意嵌套以及常见的序列操作
4.元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变
声明及使用
复制代码 代码如下:
t = () #空元组
t =(1,) #单个元素元组,注意逗号必须
t =(1,2,3)
1 in t #判断
2 not in t
#其他同序列基本操作:分片,索引
print t[0]
print t[-1]
print t[:2]
#不会对原来元组造成影响
print t+(4,5) #返回新元组(1,2,3,4,5)
print t * 2 #(1,2,3,1,2,3)
t.index(1)
t.count(1)
#列表元组转换
l = [1,2,3]
lt = tuple(l)
tl = list(lt)
lt_sorted = sorted(l) #对元组进行排序,返回是列表
#字符串转元组(得到字符元组序列)
print tuple('hello) #('h','e','l','l','o')
tuple没有append/extend/remove/pop等增删改操作tuple没有find
查看帮助
复制代码 代码如下:
help(tuple)
用途
1.赋值
复制代码 代码如下:
t = 1,2,3 #等价 t = (1, 2, 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
优点
1.性能
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)
[1.5545141696929932, 1.557785987854004, 1.5511009693145752]
2.不可变性
对不需要的数据进行“写保护”,使代码更加安全
不可变性,若在程序中以列表形式传递对象集合,可能在任何地方被改变,使用元组,则不能
不可变性只适用于元组本身顶层而非其内容,例如元组内部的列表可以修改
复制代码 代码如下:
l = [1,2,3]
t = (1,2,l)
l.append(4)
不可变性提供了某种完整性,规范化,确保不会被修改,保持某种固定关系
修改的方法
复制代码 代码如下:
tuple -> list -> tuple
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]