初步讲解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模块包中__init__.py文件功能分析
Jun 14 Python
Pycharm学习教程(2) 代码风格
May 02 Python
Sanic框架安装与简单入门示例
Jul 16 Python
浅谈pycharm出现卡顿的解决方法
Dec 03 Python
django项目用higcharts统计最近七天文章点击量
Aug 17 Python
对Python中一维向量和一维向量转置相乘的方法详解
Aug 26 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
Aug 29 Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
Aug 31 Python
python批量替换文件名中的共同字符实例
Mar 05 Python
Python3标准库之dbm UNIX键-值数据库问题
Mar 24 Python
python 获取字典特定值对应的键的实现
Sep 29 Python
Pycharm安装第三方库失败解决方案
Nov 17 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对mongodb的扩展(初出茅庐)
2012/11/11 PHP
PHP脚本监控Nginx 502错误并自动重启php-fpm
2015/05/13 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
2017/09/30 PHP
javascript multibox 全选
2009/03/22 Javascript
JQUERY 浏览器判断实现函数
2009/08/20 Javascript
javascript 关于# 和 void的区别分析
2009/10/26 Javascript
jquery+json实现数据列表分页示例代码
2013/11/15 Javascript
jQuery截取指定长度字符串的实现原理及代码
2014/07/01 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
用js动态添加html元素,以及属性的简单实例
2016/07/19 Javascript
jquery获取input type=text中的值的各种方式(总结)
2016/12/02 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
Vue.js中组件中的slot实例详解
2017/07/17 Javascript
NodeJs实现定时任务的示例代码
2017/12/05 NodeJs
axios发送post请求,提交图片类型表单数据方法
2018/03/16 Javascript
JS 实现分页打印功能
2018/05/16 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
收藏整理的一些Python常用方法和技巧
2015/05/18 Python
python 产生token及token验证的方法
2018/12/26 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
python中sklearn的pipeline模块实例详解
2020/05/21 Python
浅谈Python里面None True False之间的区别
2020/07/09 Python
深入研究HTML5实现图片压缩上传功能
2016/03/25 HTML / CSS
台湾菁英交友:结识黄金单身的台湾人
2018/01/22 全球购物
关于递归的一道.NET面试题
2013/05/12 面试题
自动化职业生涯规划书范文
2014/01/03 职场文书
白酒市场开发计划书
2014/01/09 职场文书
同学聚会老师邀请函
2014/01/28 职场文书
2016年大学迎新晚会工作总结
2015/10/15 职场文书
关于环保的广播稿
2015/12/17 职场文书
浅谈Redis在直播场景的实践方案
2021/04/27 Redis
JavaScript小技巧带你提升你的代码技能
2021/09/15 Javascript