初步讲解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之list和str比较
Sep 20 Python
Python的Scrapy爬虫框架简单学习笔记
Jan 20 Python
python各种语言间时间的转化实现代码
Mar 23 Python
用python写个自动SSH登录远程服务器的小工具(实例)
Jun 17 Python
解决Python2.7中IDLE启动没有反应的问题
Nov 30 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
Jun 12 Python
Django密码系统实现过程详解
Jul 19 Python
Python图像处理之图片文字识别功能(OCR)
Jul 30 Python
python实现多进程通信实例分析
Sep 01 Python
python导入不同目录下的自定义模块过程解析
Nov 18 Python
Tensorflow: 从checkpoint文件中读取tensor方式
Feb 10 Python
什么是Python中的顺序表
Jun 02 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函数
2010/01/11 PHP
PHP中比较时间大小实例
2014/08/21 PHP
php检查日期函数checkdate用法实例
2015/03/19 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
2018/05/16 PHP
PHP配置ZendOpcache插件加速
2019/02/14 PHP
javascript jQuery $.post $.ajax用法
2008/07/09 Javascript
chrome原生方法之数组
2011/11/30 Javascript
js使用循环清空某个div中的input标签值
2014/09/29 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
分享一个原生的JavaScript拖动方法
2016/09/25 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
在bootstrap中实现轮播图实例代码
2017/06/11 Javascript
Bootstrap 3多级下拉菜单实例
2017/11/23 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
2017/12/09 Javascript
[50:05]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
[01:02:47]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
TensorFlow用expand_dim()来增加维度的方法
2018/07/26 Python
python 找出list中最大或者最小几个数的索引方法
2018/10/30 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
django rest framework 实现用户登录认证详解
2019/07/29 Python
将python文件打包exe独立运行程序方法详解
2020/02/12 Python
夜大毕业生自我评价分享
2013/11/10 职场文书
高一物理教学反思
2014/01/24 职场文书
政治学专业毕业生求职信
2014/08/11 职场文书
党的群众路线教育实践活动组织生活会发言材料
2014/10/17 职场文书
上班迟到检讨书范文300字
2014/11/02 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
公司出差管理制度范本
2015/08/05 职场文书
Python 如何解决稀疏矩阵运算
2021/05/26 Python
python树莓派通过队列实现进程交互的程序分析
2021/07/04 Python
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL