数据类型 -- Tuple(元组)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型 -- Tuple(元组)相关的知识,希望对你有一定的参考价值。
参考技术A 元组(tuple)与列表类似,也是一种序列数据类型。
元组是不可变类型,其元素不能修改。
元组中的元素是有序可重复的
元组中元素类型可以不相同。
元组写在小括号 ( ) 里,元素之间用逗号 , 隔开。
当我们把list的元素 \'A\' 和 \'B\' 修改为 \'X\' 和 \'Y\' 后,tuple变为:
理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。
- end -
第十五节,基本数据类型,元组tuple
元组和列表的区别
元组和列表几乎是一样的
不一样的地方就是元组创建后元组的元素不可以修改,比如(添加,拓展,移除等修改功能,但是元组里的元素的元素是可以修改的)
基本操作:
索引
切片
循环
长度
包含
创建元组
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = ("lyh", "guixiu", "xioum") 4 #或者 5 b = tuple(("lyh", "guixiu", "xioum"))
tuple转换元组
"""(转换成元组,需要转换的可迭代数据变量) 注意:能转换成元组的必须是可迭代的,也就是可以被for循环的"""
字符串,字典,列表 > 都可以转换成元组,转换成元组都是可以被for循环的,for循环每次循环到的数据就是元组的一个元素
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = "小鸡炖蘑菇" 4 b = tuple(a) 5 print(b) 6 #输出 (\'小\', \'鸡\', \'炖\', \'蘑\', \'菇\')
索引
格式:元组变量加[索引下标] 的方式
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = ("lyh", "guixiu", "xioum") 4 print(a[1]) 5 #打印出 guixiu 打印出元素下标为1的元素
切片
格式:元组变量加[起始下标:结束下标]
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = ("lyh", "guixiu", "xioum") 4 print(a[0:3]) 5 #打印出 (\'lyh\', \'guixiu\', \'xioum\') 打印出元素下标0到3的元素
len(p_object)
"""(统计元组里的元素数量)"""
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = ("lyh", "guixiu", "xioum") 4 print(len(a)) 5 #打印出 3 统计出元组里有3个元素
while循环
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #while循环 4 a = ("lyh", "guixiu", "xioum") 5 b = 0 6 while b < len(a): 7 print(a[b]) 8 b += 1 9 #循环出元组里的所有元素
for循环
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #for循环 4 a = ("lyh", "guixiu", "xioum") 5 for b in a: #b为自定义循环变量 6 print(b) 7 #循环出元组里的所有元素
count(self, value)
"""(计算元素在元组里出现的次数)"""要计算的元素
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = ("lyh", "guixiu", "xioum") 4 print(a.count("guixiu")) 5 #打印出 1 guixiu元素在元组里出现一次
index(self, value, start=None, stop=None)
"""(获取指定元素在元组里的索引位置)"""要查找的元素,起始位置,结束位置
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 a = ("lyh", "guixiu", "xioum") 4 print(a.index("guixiu")) 5 #打印出 1 guixiu元素在元组里的索引位置是1,默认从0开始计算
lass tuple(object): """ tuple() -> empty tuple tuple(iterable) -> tuple initialized from iterable\'s items If the argument is a tuple, the return value is the same object. """ def count(self, value): # real signature unknown; restored from __doc__ """ T.count(value) -> integer -- return number of occurrences of value """ return 0 def index(self, value, start=None, stop=None): # real signature unknown; restored from __doc__ """ T.index(value, [start, [stop]]) -> integer -- return first index of value. Raises ValueError if the value is not present. """ return 0 def __add__(self, y): # real signature unknown; restored from __doc__ """ x.__add__(y) <==> x+y """ pass def __contains__(self, y): # real signature unknown; restored from __doc__ """ x.__contains__(y) <==> y in x """ pass def __eq__(self, y): # real signature unknown; restored from __doc__ """ x.__eq__(y) <==> x==y """ pass def __getattribute__(self, name): # real signature unknown; restored from __doc__ """ x.__getattribute__(\'name\') <==> x.name """ pass def __getitem__(self, y): # real signature unknown; restored from __doc__ """ x.__getitem__(y) <==> x[y] """ pass def __getnewargs__(self, *args, **kwargs): # real signature unknown pass def __getslice__(self, i, j): # real signature unknown; restored from __doc__ """ x.__getslice__(i, j) <==> x[i:j] Use of negative indices is not supported. """ pass def __ge__(self, y): # real signature unknown; restored from __doc__ """ x.__ge__(y) <==> x>=y """ pass def __gt__(self, y): # real signature unknown; restored from __doc__ """ x.__gt__(y) <==> x>y """ pass def __hash__(self): # real signature unknown; restored from __doc__ """ x.__hash__() <==> hash(x) """ pass def __init__(self, seq=()): # known special case of tuple.__init__ """ tuple() -> empty tuple tuple(iterable) -> tuple initialized from iterable\'s items If the argument is a tuple, the return value is the same object. # (copied from class doc) """ pass def __iter__(self): # real signature unknown; restored from __doc__ """ x.__iter__() <==> iter(x) """ pass def __len__(self): # real signature unknown; restored from __doc__ """ x.__len__() <==> len(x) """ pass def __le__(self, y): # real signature unknown; restored from __doc__ """ x.__le__(y) <==> x<=y """ pass def __lt__(self, y): # real signature unknown; restored from __doc__ """ x.__lt__(y) <==> x<y """ pass def __mul__(self, n): # real signature unknown; restored from __doc__ """ x.__mul__(n) <==> x*n """ pass @staticmethod # known case of __new__ def __new__(S, *more): # real signature unknown; restored from __doc__ """ T.__new__(S, ...) -> a new object with type S, a subtype of T """ pass def __ne__(self, y): # real signature unknown; restored from __doc__ """ x.__ne__(y) <==> x!=y """ pass def __repr__(self): # real signature unknown; restored from __doc__ """ x.__repr__() <==> repr(x) """ pass def __rmul__(self, n): # real signature unknown; restored from __doc__ """ x.__rmul__(n) <==> n*x """ pass def __sizeof__(self): # real signature unknown; restored from __doc__ """ T.__sizeof__() -- size of T in memory, in bytes """ pass
元组里的元素的元素追加
元组的元素是不可修改和和追加的,也就是元组的子级不可修改,元组的元素的元素也就是孙级是可以修改的
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #元组里的元素的元素追加 4 #元组的元素是不可修改和和追加的,也就是元组的子级不可修改,元组的元素的元素也就是孙级是可以修改的 5 #追加方式 6 #列1 7 a = (11,22,["guixiu",{"k1":"k2"}]) 8 b = {"k3":"k4"} 9 a[2][1].update(b)#索引到元组里字典时,将b元组最佳进去 10 print(a) 11 #输出 (11, 22, [\'guixiu\', {\'k1\': \'k2\', \'k3\': \'k4\'}]) 12 13 #列2 14 a = (11,22,["guixiu",{"k1":"k2"}]) 15 c = a[2][1]#索引到元组里的字典 16 c["k3"] = "k4" 17 print(a) 18 #输出 (11, 22, [\'guixiu\', {\'k1\': \'k2\', \'k3\': \'k4\'}])
元组的功能
转换列表
索引
切片
for循环
长度
反转
排序
索引位置
统计元素个数
以上是关于数据类型 -- Tuple(元组)的主要内容,如果未能解决你的问题,请参考以下文章