马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
013 元组tuple:戴上了枷锁的列表
元组和列表(任意删除/插入元素,很灵活)是相似的,但是一种不可改变的模式。
创建,访问元组,大部分是小括号:>>> tuple1 = (1, 2, 3, 4, 5)
>>> tuple1[:3]
(1, 2, 3)
(成为tuple:逗号是关键,小括号不是关键)
若只有一个元素:tuple1 = (1, )
eg:>>> 8*(8)
64
>>> 8*(8,)
(8, 8, 8, 8, 8, 8, 8, 8)
在tuple中插入新的元素的元组(拼接操作符):>>> temp = ('A', 'B', 'C')
>>> temp = temp[:1]+ ('B2',) + temp[1:]
>>> temp
('A', 'B2', 'B', 'C')
>>> del temp
当元素没有任何标签指向他的时候,内存会被释放。
列表中的in / not in / and / or 等都可以用在tuple中。
课后:
0. 列表:开放的大仓库;元组:封闭的大仓库;
1. 列表:频繁地修改数据时;元组:不希望内容被轻易修改的时候;
2. 列表更灵活;
元组仅有两项功能可用
3. >>> x, y, z = 1, 2, 3
>>> type(x)
<class 'int'>
>>> h = x, y, z
>>> type(h)
<class 'tuple'>
4. 是否有元组推导式? 答案是没有,那为何下式没有报错?>>> tuple1 = (x**2 for x in range(10))
>>> tuple1
因为一不小心拿到了一个生成器:>>> type(tuple1)
<class 'generator'>
>>> tuple1.__next__()
0
>>> tuple1.__next__()
1
>>> tuple1.__next__()
4
|