初步讲解Python中的元组概念


Posted in Python onMay 21, 2015

 元组是不可变的Python对象序列。元组的序列就像列表。唯一的区别是,元组不能被改变,即元组是不可被修改。元组使用小括号,而列表使用方括号。

创建一个元组很简单,只要把不同的逗号分隔值,可以把括号中的这些逗号来分隔每个值。例如:

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";

空的元组写为含有两对称括号:

tup1 = ();

要元组中包含一个值,必须有一个逗号,即使只有一个值的元组:

tup1 = (50,);

如字符串索引,元组索引从0开始,元组可以切片,联接等。
访问元组的值:

要访问元组的值,使用方括号沿切片及索引或索引来获得可用的索引对应的值。下面是一个简单的例子:

#!/usr/bin/python

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 );

print "tup1[0]: ", tup1[0]
print "tup2[1:5]: ", tup2[1:5]

当执行上面的代码,产生以下结果:

tup1[0]: physics
tup2[1:5]: [2, 3, 4, 5]

更新元组:

元组是不可变的,这意味着不能更新或更改元组元素的值。但可以利用现有的元组的部分来创建新的元组,如下例所示:

#!/usr/bin/python

tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');

# Following action is not valid for tuples
# tup1[0] = 100;

# So let's create a new tuple as follows
tup3 = tup1 + tup2;
print tup3;

当执行上面的代码,产生以下结果:

(12, 34.56, 'abc', 'xyz')

删除的元组元素:

除去各个元组的元素是不可能的。当然,一个元组与丢弃不想要的元素放在一起没有错。

要明确地删除整个元组,只要使用del语句。下面是一个简单的例子:

#!/usr/bin/python

tup = ('physics', 'chemistry', 1997, 2000, hema);

print tup;
del tup;
print "After deleting tup : "
print tup;

这将产生以下结果。注意引发异常,这是因为经过del tup元组就不存在了:

('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
 File "test.py", line 9, in <module>
  print tup;
NameError: name 'tup' is not defined

元组的基本操作:

元组的 + 和 * 运算符回应就像字符串中一样; 他们串联和重复功能在这里也一样,不同的是,结果是一个新的记录,而不是字符串。

实际上,元组响应所有我们使用在现有章字符串的一般操作顺序:

初步讲解Python中的元组概念

 索引,切片和矩阵:

因为元组序列,索引和切片与字符串的工作方式相同。假设下面输入:

L = ('spam', 'Spam', 'SPAM!')

初步讲解Python中的元组概念

 无封闭分隔符:

任何一组多个对象,以逗号分隔,不写识别符号,即括号内的列表,括号中的元组等,默认为元组,在下面这个短短的例子说明:

#!/usr/bin/python

print 'abc', -4.24e93, 18+6.6j, 'xyz';
x, y = 1, 2;
print "Value of x , y : ", x,y;

当执行上面的代码,产生以下结果:

abc -4.24e+93 (18+6.6j) xyz
Value of x , y : 1 2
Python 相关文章推荐
Python字符串特性及常用字符串方法的简单笔记
Jan 04 Python
Python中多线程的创建及基本调用方法
Jul 08 Python
Python在图片中添加文字的两种方法
Apr 29 Python
python中的文件打开与关闭操作命令介绍
Apr 26 Python
Python实现的求解最小公倍数算法示例
May 03 Python
python使用turtle绘制国际象棋棋盘
May 23 Python
python点击鼠标获取坐标(Graphics)
Aug 10 Python
安装PyInstaller失败问题解决
Dec 14 Python
python将unicode和str互相转化的实现
May 11 Python
Keras中 ImageDataGenerator函数的参数用法
Jul 03 Python
Python 必须了解的5种高级特征
Sep 10 Python
PyQt QMainWindow的使用示例
Mar 24 Python
Linux下使用python自动修改本机网关代码分享
May 21 #Python
Python字符串逐字符或逐词反转方法
May 21 #Python
Python合并字符串的3种方法
May 21 #Python
在Python中使用sort()方法进行排序的简单教程
May 21 #Python
Python去除字符串两端空格的方法
May 21 #Python
在Python中处理列表之reverse()方法的使用教程
May 21 #Python
Python中字符串对齐方法介绍
May 21 #Python
You might like
php 备份数据库代码(生成word,excel,json,xml,sql)
2013/06/23 PHP
php实现购物车功能(以大苹果购物网为例)
2017/03/09 PHP
基于jquery实现的服务器验证控件的启用和禁用代码
2010/04/27 Javascript
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
JQuery each打印JS对象的方法
2013/11/13 Javascript
解决Extjs4中form表单提交后无法进入success函数问题
2013/11/26 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
javascript中几个容易混淆的概念总结
2015/04/14 Javascript
JS实现的3D拖拽翻页效果代码
2015/10/31 Javascript
原生javascript实现的ajax异步封装功能示例
2016/11/03 Javascript
浅析vue数据绑定
2017/01/17 Javascript
简单实现js点击展开二级菜单功能
2017/05/16 Javascript
JavaScrpt判断一个数是否是质数的实例代码
2017/06/11 Javascript
Angular.js中window.onload(),$(document).ready()的写法浅析
2017/09/28 Javascript
浅谈Node异步编程的机制
2017/10/18 Javascript
React router动态加载组件之适配器模式的应用详解
2018/09/12 Javascript
js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解
2019/01/19 Javascript
Python使用Paramiko模块编写脚本进行远程服务器操作
2016/05/05 Python
浅谈python函数之作用域(python3.5)
2017/10/27 Python
Python中使用支持向量机(SVM)算法
2017/12/26 Python
一行代码让 Python 的运行速度提高100倍
2018/10/08 Python
对Python _取log的几种方式小结
2019/07/25 Python
python程序 线程队列queue使用方法解析
2019/09/23 Python
将pytorch转成longtensor的简单方法
2020/02/18 Python
html5 分层屏幕适配的方法
2018/03/16 HTML / CSS
什么是数组名
2012/05/10 面试题
领班岗位职责范文
2014/02/06 职场文书
村班子对照检查材料
2014/08/18 职场文书
关键在于落实心得体会
2014/09/03 职场文书
技术员个人工作总结
2015/03/03 职场文书
2015年社区服务活动总结
2015/03/25 职场文书
2015年超市收银员工作总结
2015/04/25 职场文书
小学德育工作总结2015
2015/05/12 职场文书
深入探讨opencv图像矫正算法实战
2021/05/21 Python
html5 录制mp3音频支持采样率和比特率设置
2021/07/15 Javascript
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android