Python基础入门-元祖

时间:2021-06-23 14:42:26

其实,元组合列表的特性和使用几乎差不太多,今天我们重点来看下元组的一些操作和使用。

1.元祖的定义和特点

定义:元组是以小括号包围,元素以逗号分隔,不可变的序列之一。

特点:

1)元祖内的元素不可以增加,删除,修改,只能访问,这个是元祖的特性,也是区别于其他数据结构的特性,比较安全。类似字符串。但是我们可以对整个元祖进行删除。使用del内置函数。

2)当元祖内只有一个元素的时候,需要加逗号消除歧义。

先看下元祖有哪些方法?

Python基础入门-元祖

>>> dir(tuple)
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']

1.我们先来定义一个元祖

>>> demo = (1,2,3,4)
>>> demo
(1, 2, 3, 4)
>>>

2.list和tuple之间的转换

>>> tuple1=('jack','alice','jhon','simida')
>>> tuple1
('jack', 'alice', 'jhon', 'simida')
>>> list(tuple1)
['jack', 'alice', 'jhon', 'simida']

3.同样的,元祖也支持len count 判断 比较等方法

>>> tuple1
('jack', 'alice', 'jhon', 'simida')
>>> tuple2=tuple1
>>> tuple2
('jack', 'alice', 'jhon', 'simida')
>>> tuple1
('jack', 'alice', 'jhon', 'simida')
>>> tuple2 == tuple1
True
>>> tuple2 > tuple1
False
>>> tuple2 < tuple1
False

4.元祖不支持元祖内的元素交换位置,这是元祖本身的不可变特性决定的   

>>>tuple2=('jack', 'alice', 'jhon', 'simida')
>>> tuple2
('jack', 'alice', 'jhon', 'simida')
>>> tuple2[0],tuple2[1] = tuple2[1],tuple2[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

关于元祖的介绍使用,我们先介绍到这里。