数据类型之元祖
元祖(tuple)是一种特殊的序列类型,官方叫做 Immutable Sequence Types,不可变序列。
元祖用圆括号表示,元素之间用逗号隔开,可包含任意数据类型。
空元祖
>>> a=() >>> a () >>> type(a) <class 'tuple'>
只有一个元素的元祖,这里比较特殊,需要在这个元素后面加一个逗号。
>>> a=(1,) >>> a (1,) >>> type(a) <class 'tuple'> >>> b=(1) >>> type(b) <class 'int'>
看到区别了吧,所以记住这一点。
>>> dir(t) ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']
元祖也是序列,也支持索引和切片。
由于元祖是不可变的,所以元祖定义之后元祖中的元素不能重新赋值,亦没有append、pop等方法。
参考:https://docs.python.org/3/library/stdtypes.html#tuples