最近在整理Python基础语法部分的笔记,准备边整理边分享。本篇是关于元组tumple()的笔记。
Python常用的8种经典数据结构:Python原生数据结构:元组tumple() 列表list[] 集合{} 字典{A:B}
Numpy包中的数据结构:数组NDarray(带多种操作),矩阵Matrix(多种线性代数计算)
Pandas包中的数据结构:序列Series(索引+1列数据),数据框DataFrame(索引+多列数据集)
元组tumple()
特点: 1.元组属于有序序列,支持使用双向索引访问其中的元素。 2.元组属于不可变(immutable)序列,不可以直接修改元组中元素的值。 3.Python的内部实现对元组做了大量优化,访问速度比列表更快。 4.元组对象是可哈希的,因此其可以用作字典的键,也可以作为集合的元素。1
元组的创建
创建元组对象。元组一旦创建就无法对其元素进行增加,删除和修改。可以使用()创建元组,元组可以为空且元素类型可以不同,但若元组中仅包含一个数字,则应该添加逗号以区别运算符号。列表对象也可以转换为元组对象。使用tuple()函数可以根据原对象生成一个新的元组对象。
tup1 = ('Google','Apple',1997,2000) #直接把元组赋值给一个变量tup2 = (1,) #如果元组中只有一个元素,必须在后面多写一个逗号tup3 = "a", "b", "c", "d"tup4 = () #空元组,等价于tup4 = tuple()print( 'tup1的元素是',tup1, '\n显示该数据结构类型',type(tup1), '\ntup2的元素是',tup2, '\ntup3的元素是',tup3, '\ntup4的元素是',tup4, )seq = ['a','b','c','d','e'] #创建一个列表list对象tup = tuple(seq) #将列表对象转换为元组print('转换前的seq对象的数据类型是',type(seq),'seq的元素是',seq, '\n转换后的tup对象的数据类型是',type(tup),'tup的元素是',tup)
输
出结果:
tup1的元素是 ('Google', 'Apple', 1997, 2000) 显示该数据结构类型 <class 'tuple'> tup2的元素是 (1,) tup3的元素是 ('a', 'b', 'c', 'd') tup4的元素是 ()转换前的seq对象的数据类型是 <class 'list'> seq的元素是 ['a', 'b', 'c', 'd', 'e'] 转换后的tup对象的数据类型是 <class 'tuple'> tup的元素是 ('a', 'b', 'c', 'd', 'e')
除了以上方法可以直接创建元组外,很多内置函数的返回值也包含了若干元组的可迭代对象,如 enumerate()、zip()等
list(enumerate(range(5)))[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4)]list(zip(range(3),'abcdefg'))[(0, 'a'), (1, 'b'), (2, 'c')]
2
元组的查询
访问元组,可以使用下标索引来访问元组中的值。
print("tuple[0]:",tup[0])print('tuple2[1:5]',tup2[1:5])
结果:
tuple[0]: atuple2[1:5] ()
3
元组的修改和删除
tuple的修改和删除操作:由于元组属于不可变序列,我们可以通过下标索引访问元组中的元素,但是不可以对其进行修改。同样,我们可以删除整个元组,但是不可以对元组中某个元素进行删除。
#可以通过下标索引访问元组中元素:tup3[0]#但不能对元素进行修改。以下操作会导致报错:tup3[0]=100#这样删除报错:del tup3[0]#这样删除允许:del tup3
4
元组的连接和复制
虽然元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,返回一个新的元组对象。此外,我们也可以使用*进行复制操作#创建一个新的元组tup4 = tup1+tup2print("使用+进行操作连接",tup4)tup5 = tup2 * 3print("使用*进行复制操作",tup5)
结果:
使用+进行操作连接 ('Google', 'Apple', 1997, 2000, 1)使用*进行复制操作 (1, 1, 1)
5
元组特殊操作
元组内置函数。len()函数可以返回元组元素的个数。max()函数可以返回元组中最大的元素,min()函数可以返回元组中最小的元素
print('\n计算元组的元素个数',len(tup1), '\n求元组中的最大元素',max(tup2), '\n求元组中的最小元素',min(tup2))
结果:
计算元组的元素个数 4 求元组中的最大元素 1 求元组中的最小元素 1
6
元组转换为其它数据结构
元组数据类型转换。元组可以直接转换成字符串和列表,不过单个的元组无法直接转换成字典。
print("\n元组转列表:\n",list(tup1), "\n元组转字符串:\n",tup1.__str__())
结果:
元组转列表: ['Google', 'Apple', 1997, 2000] 元组转字符串: ('Google', 'Apple', 1997, 2000)
关注我,
一起学编程!
@宇梵文书
![d7105e5f6251f973ba75ee38108a029b.png](https://i-blog.csdnimg.cn/blog_migrate/551a08461b3359db11ef017c458fbb64.jpeg)