python之元组tuple
定义了列表存储数据:但是不能防止别人通过代码进行列表中数据的修改,
一旦其他人对列表数据进行改动[append/insert/…]->造成当前程序的BUG。
迫切需要一种和列表类似,但是不能修改数据的组合数据类型:元组。
元组:tuple:可以存放一组有顺序的可以重复的不可改变的数据!就是一种简化的列表。
(有序、重复)
元组主要是用于数据处理的:增加、删除[删除元组本身]、修改、查询。
##声明元组
- t1 = tuple() 声明空元组
- t2 = () 声明空元组
- t3 = (1,2,3,4,5) 声明包含元素的元组
- t4 = (“h”)此为错误声明,正确声明t4 = (“h”,),如果只有一个元素,添加一个逗号分隔。
运算相关:
元组自己没有提供count/index之外的操作,只有两个可以操作的函数[count()/index()]。
外部有一个默认的函数sorted可以针对元组进行排序。
排序注意:使用系统默认排序~保证排序的数据他们的数据类型是一致的!
查询相关函数,可以直接操作,如:len()查看元组中元素的个数。
tuple的操作函数
>>> dir(tuple)
['__add__', '__class__', '__contains__',
'__delattr__', '__dir__', '__doc__', '__eq__',
'__format__', '__ge__', '__getattribute__',
'__getitem__', '__getnewargs__', '__gt__',
'__iter__', '__le__', '__len__', '__lt__',
'__reduce_ex__', '__repr__', '__rmul__',
'__subclasshook__', 'count', 'index']
>>>
>>> a = (1,'a','b')
>>>
>>> a.index(1) // 返回元素的下标
0
>>> a.index('a')
1
>>> a.index(2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: tuple.index(x): x not in tuple
>>> a.count(1) // 返回元素出现的次数
1
>>> a.count('a')
1
>>> a.count('aa')
0
>>>
>>>
程序中,如果出现了一组数据,在使用过程中,不允许修改的情况下
优先选择:元组 tuple
其次选择:列表 list