10个示例带你掌握python中的元组

 更新时间:2020年11月23日 10:22:44   作者:python客栈  
这篇文章主要介绍了python中的元组的相关资料,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下

数据结构是任何编程语言的关键部分。为了创建强大而性能良好的产品,必须非常了解数据结构。

在本文中,我们将研究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, 6
print (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)
for i in a:
   print (i**2)
   '''
   1
   4
   9
   '''

四、元组元素的访问

利用下标索引访问

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] = 99
a[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))
# 3

max(),min()返回元组中元素的最大,最小值

a = (3, 0, 2)
print (max(a))
print (min(a))
# 3
# 0

tuple()用于将列表转换为元组

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'))
# 2
print (a.count(1))
# 3

index()可以用来返回元组中元素的下标索引

a = (1, 'x', 3, 5, 'x')
print (a.index('x'))
# 1
print (a.index(1))
# 0

tips:如果一个值在元组中多次出现,index()会返回最先出现的索引

九、利用"+"拼接元组

我们可以利用“+”拼接元组得到一个新元组

a = (1, 2)
b = ('x', 'y')
c = a + b
print (c)
# (1, 2, 'x', 'y')

十、用元组让函数返回多个值

一般的,一个函数只能有一个返回值。我们可以用元组让函数返回多个值。以下函数接受一个数组,并返回该数组的总和与数组长度。

def count_sum(arr):
   count = len(arr)
   sum = arr.sum()
   return count, sum

该函数返回的是具有2个项目的元组:

import numpy as np
arr = np.random.randint(10, size=8)
def count_sum(arr):
   count = len(arr)
   sum = arr.sum()
   return count, sum
a = count_sum(arr)
print (a)
# (8, 39)
print (type(a))
# <class 'tuple'>

总结

元素和列表相似,都是值的集合,最大的区别就是不变性了。如有错误,疏漏,欢迎在留言区指正,希望能帮到python的初学者。

原文来自 python 客栈,欢迎关注

以上就是10个示例带你掌握python中的元组的详细内容,更多关于python 元组的资料请关注脚本之家其它相关文章!

相关文章

  • Python list列表查找元素详情

    Python list列表查找元素详情

    这篇文章主要介绍了Python list列表查找元素详情,Python 列表(list)提供了 index和count方法,它们都可以用来查找元素,文章围绕主题的相关资料展开详细的内容介绍,具有一定的参考价价值,需要的朋友可以参考一下
    2022-06-06
  • 利用Python实现端口扫描器的全过程

    利用Python实现端口扫描器的全过程

    这篇文章主要给大家介绍了关于如何利用Python实现端口扫描器的相关资料,用来检测目标服务器上有哪些端口开放,本文适用于有 Python和计算机网络语言基础的用户,需要的朋友可以参考下
    2021-08-08
  • 一文了解Python3的错误和异常

    一文了解Python3的错误和异常

    Python 的语法错误或者称之为解析错,是初学者经常碰到的。即便 Python 程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。本文就来和大家聊聊Python3的错误和异常,感兴趣的可以学习一下
    2022-09-09
  • Python二分查找详解

    Python二分查找详解

    这篇文章主要给大家汇总介绍了Python二分查找的几种实现的方法,有需要的小伙伴可以参考下。
    2015-09-09
  • python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法

    python 出现SyntaxError: non-keyword arg after keyword arg错误解决办

    这篇文章主要介绍了python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法的相关资料,需要的朋友可以参考下
    2017-02-02
  • Django如何利用uwsgi和nginx修改代码自动重启

    Django如何利用uwsgi和nginx修改代码自动重启

    这篇文章主要介绍了Django如何利用uwsgi和nginx修改代码自动重启问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 对python3 Serial 串口助手的接收读取数据方法详解

    对python3 Serial 串口助手的接收读取数据方法详解

    今天小编就为大家分享一篇对python3 Serial 串口助手的接收读取数据方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python中的eval()函数使用详解

    Python中的eval()函数使用详解

    这篇文章主要介绍了Python中的eval()函数使用详解,eval()函数是用来执行一个字符串表达式,并返回表达式的值,可以把字符串转化为list,dict ,tuple,需要的朋友可以参考下
    2023-12-12
  • Python字符串格式化输出代码实例

    Python字符串格式化输出代码实例

    这篇文章主要介绍了Python字符串格式化输出代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • python实现动态数组的示例代码

    python实现动态数组的示例代码

    这篇文章主要介绍了python实现动态数组的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07

最新评论