Python--6 元组:戴上了枷锁的列表
元组:戴上了枷锁的列表
由于是列表是近亲关系,所以元组和列表在实际使用上非常相似的
通过谈论元组和列表有什么不同来学习元组
主要从以下几个点来讨论学习:
创建和访问一个元组
更新和删除一个元组
元组相关的操作符
>>> tuple1 = (1, 2, 3, 4, 5, 6, 7, 7)
>>> tuple1[1]
2
>>> tuple1[5:]
(6, 7, 7)
>>> tuple1[:5]
(1, 2, 3, 4, 5)
>>> tuple2 = tuple1[:]
>>> tuple2
(1, 2, 3, 4, 5, 6, 7, 7)
元组不能作修改
>>> tuple1[1] = 3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
元组标志性符号 --,逗号
>>> temp = (1)
>>> temp
1
>>> type(temp)
<class 'int'>
>>> temp2 = 2, 3 ,4
>>> type(temp2)
<class 'tuple'>
>>> 8 * (8)
64
>>> 8 * (8,)
(8, 8, 8, 8, 8, 8, 8, 8)
创建空元组
>>> temp = ()
>>> type(temp)
<class 'tuple'>
更新和删除一个元组 垃圾回收机制,当对象或字符串等没有指向时
>>> temp = ('cat', 'dog', 'pig', 'fish')
>>> temp = temp[:2] + ('humen') + temp[2:]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate tuple (not "str") to tuple
>>> temp = temp[:2] + ('humen',) + temp[2:]
>>> temp
('cat', 'dog', 'humen', 'pig', 'fish')
>>> del temp
>>> temp
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'temp' is not defined
元组相关的操作符
拼接操作符 +
重复操作符 *
关系操作符 > >=...
逻辑操作符 and or
成员操作符 in not in