时间:2021-05-22
数据结构是任何编程语言的关键部分。为了创建强大而性能良好的产品,必须非常了解数据结构。
在本文中,我们将研究Python编程语言的重要数据结构,元组。
元组是用逗号分隔并括在括号中值的集合。与列表不同,元组的元素是不可变的。不变性可以视为元组的识别特征。
我将通过示例解释元组的功能和对其的操作。
一、创建元组
元组由括号中的值组成,并用逗号分隔开
a=(3,4)print(a)print(type(a))# (3, 4)# <class 'tuple'>元组可以存储不同数据类型的值和重复值。
a = (3, 3, 'x', [1,2])print(a)# (3, 3, 'x', [1, 2])print(type(a))# <class 'tuple'>我们也可以不使用括号创建元组。用逗号分隔的一系列值将创建一个元组。
a = 3, 4, 5, 6print(type(a))# <class 'tuple'>二、创建没有元素或只有1个元素的元组
创建没有元素的空元组
a = ()print(type(a))# <class 'tuple'>创建具有1个元素的元组,需要在元素后面加上逗号,否则当做元素的普通变量类型处理
a = (3)print(type(a))# <class 'int'>b = ([1,2])print(type(b))# <class 'list'>正确的创建方法
a = (3,)print(type(a))# <class 'tuple'>b = ([1,2],)print(type(b))# <class 'tuple'>三、元组是可迭代的
像列表一样,你可以遍历一个元组
a = (1, 2, 3)fori ina:print(i**2)'''149'''四、元组元素的访问
利用下标索引访问
a = (3, 5, 'x', 5)print(a[0])print(a[-1])# 3# 5利用切片访问
a = (1, 2, 5, 6, 7)print(a[-2:])# (6, 7)print(a[:3])# (1, 2, 5)五、元组当前存放的元素是不可变的,但是可以具有可变元素
不变性可能是元组最具有识别性的特征。我们不能修改元组中的元素。
a = (3, 5, 'x', 5)a[0] = 7# error但是,元组可以包含可变元素,例如列表。
a = ([1,2], ['x', 'y'])a[0][0] = 99a[1][0] = 't'print(a)# ([99, 2], ['t', 'y'])六、元组的排序
元组当前存放的元素是不可变的,我们无法用sort进行排序
但是sorted可以将元组作为参数,并返回一个已经排序好的列表,注意,返回的是一个排序好的列表而不是一个排序好的元组。
a = (3, 5, 8, 2)b = sorted(a)print(b)# [2, 3, 5, 8]print(type(b))# <class 'list'>七、元组的常用函数
可以使用len()获取元组的长度
a = (3, 0, 2)print(len(a))# 3max(),min()返回元组中元素的最大,最小值
a = (3, 0, 2)print(max(a))print(min(a))# 3# 0tuple()用于将列表转换为元组
a = [1,2,3,4]print(tuple(a))# (1,2,3,4)八、count()和index()
count()可以用来统计元组中某个值出现的次数
a = (1, 'x', 1, 1, 'x')print(a.count('x'))# 2print(a.count(1))# 3index()可以用来返回元组中元素的下标索引
a = (1, 'x', 3, 5, 'x')print(a.index('x'))# 1print(a.index(1))# 0tips:如果一个值在元组中多次出现,index()会返回最先出现的索引
九、利用"+"拼接元组
我们可以利用“+”拼接元组得到一个新元组
a = (1, 2)b = ('x', 'y')c = a + bprint(c)# (1, 2, 'x', 'y')十、用元组让函数返回多个值
一般的,一个函数只能有一个返回值。我们可以用元组让函数返回多个值。以下函数接受一个数组,并返回该数组的总和与数组长度。
defcount_sum(arr):count = len(arr)sum = arr.sum()returncount, sum该函数返回的是具有2个项目的元组:
importnumpy asnparr = np.random.randint(10, size=8)defcount_sum(arr):count = len(arr)sum = arr.sum()returncount, suma = count_sum(arr)print(a)# (8, 39)print(type(a))# <class 'tuple'>总结
元素和列表相似,都是值的集合,最大的区别就是不变性了。如有错误,疏漏,欢迎在留言区指正,希望能帮到python的初学者。
原文来自 python 客栈,欢迎关注
以上就是10个示例带你掌握python中的元组的详细内容,更多关于python 元组的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在python中对一个元组排序我的同事AxelHecht给我展示了一些我所不知道的关于python排序的东西。在python里你可以对一个元组进行排序。例子是最
前言1.实验环境:Python3.6;2.示例代码地址:下载示例;3.本文中元素是指列表、元组、字典等集合类数据类型中的下一级项目(可能是单个元素或嵌套列表)。
元组是不可变的Python对象序列。元组的序列就像列表。唯一的区别是,元组不能被改变,即元组是不可被修改。元组使用小括号,而列表使用方括号。创建一个元组很简单,
现有两个元组(('a'),('b')),(('c'),('d')),请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}]t1=(('a
Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。如下实