元组:戴上了枷锁的列表

来源:互联网 发布:网络代理可信吗 编辑:程序博客网 时间:2024/05/16 23:43

由于和列表是近亲关系,所以元组(tuple)和列表在实际使用上是非常相似的。
我们主要通过讨论元组和列表到底有什么不同来学习元组

我们主要从以下几个点来讨论学习:

  • 创键和访问一个元组
  • 更新和删除一个元组
  • 元组相关的操作符

视频代码实操

>>> tuple1 = (1,2,3,4,5,6,7,8) #元组用小括号创建>>> tuple1(1, 2, 3, 4, 5, 6, 7, 8)>>> tuple1[1] #和列表一样,通过下标提取元素2>>> tuple1[5:]#元组分片(6, 7, 8)>>> tuple1[:5](1, 2, 3, 4, 5)>>> tuple2 = tuple1[:]#分片复制>>> tuple2(1, 2, 3, 4, 5, 6, 7, 8)>>> tuple1[1] = 3 #元组不能直接修改元素,戴了枷锁Traceback (most recent call last):  File "<pyshell#9>", line 1, in <module>    tuple1[1] = 3TypeError: 'tuple' object does not support item assignment>>> temp = (1)#创建一个元素的元组不能只有一个单一的元素>>> temp1>>> type(temp)#没能创建成功<class 'int'>>>> temp2 = 2,3,4 #省略小括号也可>>> type(temp2)<class 'tuple'>>>> temp = [] #创建空列表>>> type(temp)<class 'list'>>>> temp = ()#创建空元组>>> type(temp)<class 'tuple'>>>> temp = (1,) #类比上面可知,需要一个逗号才能常见单一元素元组>>> type(temp)<class 'tuple'>>>> temp = 1, #同上>>> type(temp)<class 'tuple'>>>> 8 * (8) #乘法操作64>>> 8 * (8,) #重复操作符*(8, 8, 8, 8, 8, 8, 8, 8)>>> temp = ('小甲鱼','黑夜','迷途','小布丁') #用分片方式修改元素,创建了一个新的元组达到修改目的>>> temp = temp[:2] + ('怡静') + temp[2:] #注意这个错误Traceback (most recent call last):  File "<pyshell#28>", line 1, in <module>    temp = temp[:2] + ('怡静') + temp[2:]TypeError: can only concatenate tuple (not "str") to tuple>>> temp = temp[:2] + ('怡静',) + temp[2:]>>> temp('小甲鱼', '黑夜', '怡静', '迷途', '小布丁')>>> del temp #删除元组>>> tempTraceback (most recent call last):  File "<pyshell#33>", line 1, in <module>    tempNameError: name 'temp' is not defined>>> 

来自鱼C工作室