初步讲解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通过imaplib模块读取gmail里邮件的方法
May 08 Python
Python中对象的引用与复制代码示例
Dec 04 Python
Python实现检测文件MD5值的方法示例
Apr 11 Python
Python微医挂号网医生数据抓取
Jan 24 Python
Python使用POP3和SMTP协议收发邮件的示例代码
Apr 16 Python
python判断一个对象是否可迭代的例子
Jul 22 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
Aug 09 Python
jenkins配置python脚本定时任务过程图解
Oct 29 Python
Python 读取xml数据,cv2裁剪图片实例
Mar 10 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
Jun 08 Python
Python3爬虫中Selenium的用法详解
Jul 10 Python
解析python中的jsonpath 提取器
Jan 18 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
PHP5新特性: 更加面向对象化的PHP
2006/11/18 PHP
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
2011/08/02 PHP
PHP实现批量上传单个文件
2015/12/29 PHP
PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
2016/06/13 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
2016/09/22 PHP
php使用crypt()函数进行加密
2017/06/08 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
Microsoft Ajax Minifier 压缩javascript的方法
2010/03/05 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
jquery 缓存问题的几个解决方法
2013/11/11 Javascript
jquery制作居中遮罩层效果分享
2014/02/21 Javascript
jQuery 中的 DOM 操作
2016/04/26 Javascript
JS排序之快速排序详解
2017/04/08 Javascript
详解jQuery中关于Ajax的几个常用的函数
2017/07/17 jQuery
JavaScript数据结构之双向链表和双向循环链表的实现
2017/11/28 Javascript
JS删除数组里的某个元素方法
2018/02/03 Javascript
Python中字典(dict)和列表(list)的排序方法实例
2014/06/16 Python
Python实现信用卡系统(支持购物、转账、存取钱)
2016/06/24 Python
Django应用程序中如何发送电子邮件详解
2017/02/04 Python
Window10+Python3.5安装opencv的教程推荐
2018/04/02 Python
PyQt5每天必学之像素图控件QPixmap
2018/04/19 Python
详解python项目实战:模拟登陆CSDN
2019/04/04 Python
Python实现性能自动化测试竟然如此简单
2019/07/30 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
django实现类似触发器的功能
2019/11/15 Python
关于Tensorflow分布式并行策略
2020/02/03 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
德国大型箱包和皮具商店:Koffer
2019/10/01 全球购物
网络安全方面的面试题
2015/11/04 面试题
linux下进程间通信的方式
2014/12/23 面试题
给学校的建议书
2014/03/12 职场文书
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
2019毕业论文致谢词
2019/06/24 职场文书
创业的9条正确思考方式
2019/08/26 职场文书
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
2021/05/25 Python