Python-9 元组-戴上了枷锁的列表

1、元组(tuple):戴上了枷锁的列表

由于和列表是近亲关系,所以元组和列表在实际使用上是非常相似的。

元组是不能随意插入和删除元素的。

● 创建和访问一个元组

>>> tuple1=(1,2,3,4,5,6,7,8)
>>> tuple1
(1, 2, 3, 4, 5, 6, 7, 8)
>>> type(tuple1)
<class 'tuple'>
>>> tuple1[1]
2
>>> tuple1[5:]
(6, 7, 8)
>>> tuple1[:5]
(1, 2, 3, 4, 5)
>>> tuple1[1]=3
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    tuple1[1]=3
TypeError: 'tuple' object does not support item assignment
>>> 
元组的标识是逗号(,) ,而不是小括号。

>>> temp = (1)
>>> temp
1
>>> type(temp)
<class 'int'>
>>> temp2=2,3,4
>>> type(temp2)
<class 'tuple'>
>>> 
创建空元组。

>>> temp = ()
>>> type(temp)
<class 'tuple'>
>>> 
如果创建的元组中只有一个元素,要在元素后边加上逗号,确保它是元组。如果没有加逗号就只是普通元素。

>>> temp=(1,)
>>> type(temp)
<class 'tuple'>
>>> 
>>> temp = 1,
>>> type(temp)
<class 'tuple'>
>>> 

在8*(8,)中的*是重复操作符。得到一个8个8的元组。

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


● 更新和删除一个元组

插入一个元素时小括号和逗号缺一不可,

>>> temp = ('cisco','lenovo','microsoft','google')
>>> temp = temp[:2]+('ibm',)+temp[2:]
>>> temp
('cisco', 'lenovo', 'ibm', 'microsoft', 'google')
>>>
插入一个 元素的过程是将temp分成两部分,在中间加上新的元素,形成新的元组,再将temp标签贴上。原来的元组是还在的,但是没有标签指向它,Python的回收器会回收它,释放内存。

同样可以用分片的方法删除一个元素。

>>> temp = temp[:2]+temp[3:]
>>> temp
('cisco', 'lenovo', 'microsoft', 'google')
>>> 
删除整个元组可以使用del语句。

>>> del temp
>>> temp
Traceback (most recent call last):
  File "<pyshell#34>", line 1, in <module>
    temp
NameError: name 'temp' is not defined
>>> 
在日常很少使用del删除整个元组,因为Python有回收机制。

● 元组相关的操作符

拼接操作符

>>> temp = ('cisco','microsoft','ibm','nike')
>>> temp = temp[:2]+('ikea',)+temp[2:]
>>> temp
('cisco', 'microsoft', 'ikea', 'ibm', 'nike')
>>> 

重复操作符

>>> 3*temp
('cisco', 'microsoft', 'ikea', 'ibm', 'nike', 'cisco', 'microsoft', 'ikea', 'ibm', 'nike', 'cisco', 'microsoft', 'ikea', 'ibm', 'nike')
>>> 

关系操作符 

>>> temp1=('vinda','intel')
>>> temp>temp1
False
>>> temp1>temp
True
>>> 


逻辑操作符

>>> temp2=temp1[:]
>>> (temp1==temp2) and (temp1>temp)
True
>>> 

成员操作符

>>> 'cisco' in temp
True
>>> 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值