13 元组:戴上了枷锁的列表

列表可以改变元素,而元组不可以;
列表和元组是近亲关系,在实际使用上是非常相似的;

区分列表和元组:
    一、创建和访问一个元组

>>> 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#12>", line 1, in <module>
    tuple1[1] = 3
TypeError: 'tuple' object does not support item assignment

        Traceback (most recent call last):
          File "<pyshell#12>", line 1, in <module>
            tuple1[1] = 3
        TypeError: 'tuple' object does not support item assignment

  【笔记】与列表不同,元组不可以改变元素。


  【问题】列表最典型的特点是【[]】中括号,那元组最大的特点是什么?
               小括号?验证一下: 

>>> temp = (1)
>>> temp
1
>>> type(temp)
<class 'int'>

  【发现】就算是用小括号,类型也是“int”整型,而不是元组。
               再次尝试:

>>> temp2 = 1, 2, 3, 4, 5
>>> type(temp2)
<class 'tuple'>

【发现】对于元组来说,小括号【()】不是关键,逗号【, 】才是关键

>>> temp = []
>>> type(temp)
<class 'list'>
>>> temp = ()
>>> type(temp)
<class 'tuple'>
>>> temp = (1,)
>>> type(temp)
<class 'tuple'>
>>> temp1 = 1,
>>> type(temp1)
<class 'tuple'>

>>> 8 * (8)
64
>>> 8 * (8,)
(8, 8, 8, 8, 8, 8, 8, 8)


二、更新和删除一个元组

(一)添加元素

>>> temp = ('钏钏',  '爱', '冉冉')
>>> temp = temp[:1] + ('超级',) +temp[1:]
>>> temp
('钏钏', '超级', '爱', '冉冉')

'''【('超级')】的【()】和【,】都缺一不可!!!'''

(二)可以利用切片的方式,间接删除元素:

>>> temp = ('钏钏',  '爱', '冉冉')
>>> temp = temp[:1] + ('超级',) +temp[1:]
>>> temp
('钏钏', '超级', '爱', '冉冉')

'''【('超级')】的【()】和【,】都缺一不可!!!'''

        del的方式,删除元组(和列表一样) (用的很少)

>>> temp
Traceback (most recent call last):
  File "<pyshell#36>", line 1, in <module>
    temp
NameError: name 'temp' is not defined

        Traceback (most recent call last):
          File "<pyshell#36>", line 1, in <module>
            temp
        NameError: name 'temp' is not defined



三、元组相关的操作符

(一)拼接操作符(对应前【二、(一)添加元素】)

>>> temp = ('钏钏',  '爱', '冉冉')
>>> temp = temp[:1] + ('超级',) +temp[1:]
>>> temp
('钏钏', '超级', '爱', '冉冉')

'''【('超级')】的【()】和【,】都缺一不可!!!'''

(二)重复操作符 (对应前)

>>> 8 * (8)
64
>>> 8 * (8,)
(8, 8, 8, 8, 8, 8, 8, 8)

(三)关系操作符(<,>,<=,>=,==)可用

(四)成员操作符(in,not in)可用

(五)逻辑操作符(and,or)可用

均与列表相同!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值