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


Posted in Python onNovember 23, 2020

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

在本文中,我们将研究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'>

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

七、元组的常用函数

可以使用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中的元组

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

Python 相关文章推荐
python引用DLL文件的方法
May 11 Python
深入理解python中的atexit模块
Mar 07 Python
Python函数式编程
Jul 20 Python
Python中property属性实例解析
Feb 10 Python
基于Pandas读取csv文件Error的总结
Jun 15 Python
PyQt5实现QLineEdit添加clicked信号的方法
Jun 25 Python
python使用socket 先读取长度,在读取报文内容示例
Sep 26 Python
Django中从mysql数据库中获取数据传到echarts方式
Apr 07 Python
vscode配置anaconda3的方法步骤
Aug 08 Python
Python 实现微信自动回复的方法
Sep 11 Python
总结Pyinstaller打包的高级用法
Jun 28 Python
Python面向对象编程之类的概念
Nov 01 Python
详解anaconda安装步骤
Nov 23 #Python
Python可以用来做什么
Nov 23 #Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
Nov 22 #Python
python里反向传播算法详解
Nov 22 #Python
python动态规划算法实例详解
Nov 22 #Python
python全栈开发语法总结
Nov 22 #Python
scrapy在python爬虫中搭建出错的解决方法
Nov 22 #Python
You might like
php 防止单引号,双引号在接受页面转义
2008/07/10 PHP
php checkbox 取值详细说明
2010/08/19 PHP
浅析十款PHP开发框架的对比
2013/07/05 PHP
PHP不用递归实现无限分级的例子分享
2014/04/18 PHP
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
PHPMailer发送HTML内容、带附件的邮件实例
2014/07/01 PHP
PHP连续签到功能实现方法详解
2019/12/04 PHP
Node.js实战 建立简单的Web服务器
2012/03/08 Javascript
循环 vs 递归浅谈
2013/02/28 Javascript
原生javaScript实现图片延时加载的方法
2014/12/22 Javascript
XML文件转化成NSData对象的方法
2015/08/12 Javascript
AngularJs表单验证实例详解
2016/05/30 Javascript
深入理解JS DOM事件机制
2016/08/06 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
微信小程序request出现400的问题解决办法
2017/05/23 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
vue实现商城购物车功能
2017/11/27 Javascript
打开电脑上的QQ的python代码
2013/02/10 Python
python使用PyFetion来发送短信的例子
2014/04/22 Python
python实现提取百度搜索结果的方法
2015/05/19 Python
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
Python正则捕获操作示例
2017/08/19 Python
python删除字符串中指定字符的方法
2018/08/13 Python
python虚拟环境完美部署教程
2019/08/06 Python
CSS3中的常用选择器使用示例整理
2016/06/13 HTML / CSS
html5 制作地图当前定位箭头的方法示例
2020/01/10 HTML / CSS
俄罗斯运动鞋商店:Sneakerhead
2018/05/10 全球购物
Lookfantastic美国/加拿大:英国知名美妆购物网站
2019/03/27 全球购物
外语系毕业生自荐信范文
2013/12/16 职场文书
静心口服夜广告词
2014/03/20 职场文书
实验心得体会
2014/09/05 职场文书
党员个人查摆剖析材料
2014/10/16 职场文书
幼师自荐信范文
2015/03/06 职场文书
保护环境建议书作文400字
2015/09/14 职场文书
优秀班干部主要事迹材料
2015/11/04 职场文书
Oracle查看表空间使用率以及爆满解决方案详解
2022/07/23 Oracle