初步讲解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爬虫之爬取糗事百科段子
Feb 17 Python
详解python中的 is 操作符
Dec 26 Python
python使用正则表达式来获取文件名的前缀方法
Oct 21 Python
Python使用修饰器进行异常日志记录操作示例
Mar 19 Python
Pandas之Fillna填充缺失数据的方法
Jun 25 Python
解决Python安装时报缺少DLL问题【两种解决方法】
Jul 15 Python
django url到views参数传递的实例
Jul 19 Python
使用Python将字符串转换为格式化的日期时间字符串
Sep 01 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
Sep 24 Python
简单了解Python读取大文件代码实例
Dec 18 Python
Django静态资源部署404问题解决方案
May 11 Python
PyCharm2019 安装和配置教程详解附激活码
Jul 31 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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
PHP4(windows版本)中的COM函数
2006/10/09 PHP
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
2013/01/19 PHP
非常全面的php日期时间运算汇总
2015/11/04 PHP
PHP编写RESTful接口
2016/02/23 PHP
浅谈PHP中new self()和new static()的区别
2017/08/11 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
实现PHP中session存储及删除变量
2018/10/15 PHP
用js计算页面执行时间的函数
2006/12/07 Javascript
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
2009/09/19 Javascript
几个javascript操作word的参考代码
2009/10/26 Javascript
一些实用的jQuery代码片段收集
2011/07/12 Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
2016/04/15 Javascript
基于Three.js插件制作360度全景图
2016/11/29 Javascript
详解vue-cli + webpack 多页面实例应用
2017/04/25 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
2018/07/10 Javascript
Vue源码解析之Template转化为AST的实现方法
2018/12/14 Javascript
如何换个角度使用VUE过滤器详解
2019/09/11 Javascript
小结Python用fork来创建子进程注意事项
2014/07/03 Python
Python多线程编程(五):死锁的形成
2015/04/05 Python
python中argparse模块用法实例详解
2015/06/03 Python
Python设计模式编程中解释器模式的简单程序示例分享
2016/03/02 Python
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法
2018/03/13 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
pytorch实现特殊的Module--Sqeuential三种写法
2020/01/15 Python
Python cookie的保存与读取、SSL讲解
2020/02/17 Python
html5 div布局与table布局详解
2016/11/16 HTML / CSS
浅析HTML5 Landmark
2020/09/11 HTML / CSS
经管应届生求职信
2013/11/17 职场文书
师范院校学生自荐信范文
2013/12/27 职场文书
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
2015年化验室工作总结
2015/04/23 职场文书
2015年招商引资工作总结
2015/04/25 职场文书
中学生运动会广播稿
2015/08/19 职场文书
学习党史心得体会2016
2016/01/23 职场文书