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模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
Aug 23 Python
django admin添加数据自动记录user到表中的实现方法
Jan 05 Python
python方向键控制上下左右代码
Jan 20 Python
浅谈pandas用groupby后对层级索引levels的处理方法
Nov 06 Python
python抓取京东小米8手机配置信息
Nov 13 Python
python正向最大匹配分词和逆向最大匹配分词的实例
Nov 14 Python
Python模块_PyLibTiff读取tif文件的实例
Jan 13 Python
Python Websocket服务端通信的使用示例
Feb 25 Python
浅谈keras 模型用于预测时的注意事项
Jun 27 Python
基于python实现可视化生成二维码工具
Jul 08 Python
用Python 执行cmd命令
Dec 18 Python
python 递归相关知识总结
Mar 03 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新手上路(二)
2006/10/09 PHP
PHP中date()日期函数有关参数整理
2011/07/19 PHP
总结PHP中初始化空数组的最佳方法
2019/02/13 PHP
extJs 常用到的增,删,改,查操作代码
2009/12/28 Javascript
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
jQuery实现鼠标划过添加和删除class的方法
2015/06/26 Javascript
JS使用cookie实现DIV提示框只显示一次的方法
2015/11/05 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
2016/05/12 Javascript
AngularJS基础 ng-src 指令简单示例
2016/08/03 Javascript
让DIV的滚动条自动滚动到最底部的3种方法(推荐)
2016/09/24 Javascript
微信小程序 教程之注册程序
2016/10/17 Javascript
基于slideout.js实现移动端侧边栏滑动特效
2016/11/28 Javascript
原生JavaScript实现Tooltip浮动提示框特效
2017/03/07 Javascript
vue click.stop阻止点击事件继续传播的方法
2018/09/04 Javascript
cdn模式下vue的基本用法详解
2018/10/07 Javascript
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
其实你可以少写点if else与switch(推荐)
2019/01/10 Javascript
浅谈v-for 和 v-if 并用时筛选条件方法
2019/11/07 Javascript
Python编程使用*解包和itertools.product()求笛卡尔积的方法
2017/12/18 Python
python3+PyQt5使用数据库窗口视图
2018/04/24 Python
Python3中在Anaconda环境下安装basemap包
2018/10/21 Python
Django框架封装外部函数示例
2019/05/28 Python
python属于跨平台语言码
2020/06/09 Python
python实现批量命名照片
2020/06/18 Python
利用HTML5+CSS3实现3D转换效果实例详解
2017/05/02 HTML / CSS
携程旅行网:中国领先的在线旅行服务公司
2017/02/17 全球购物
Hawes & Curtis澳大利亚官网:英国经典服饰品牌
2018/10/29 全球购物
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
类如何去实现接口
2013/12/19 面试题
计划生育标语
2014/06/23 职场文书
居委会四风问题个人对照检查材料
2014/09/25 职场文书
小学运动会开幕词
2015/01/28 职场文书
医生辞职信范文
2015/03/02 职场文书
技能培训通讯稿
2015/07/18 职场文书
JS Canvas接口和动画效果大全
2021/04/29 Javascript
一劳永逸彻底解决pip install慢的办法
2021/05/24 Python