初步讲解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 collections模块实例讲解
Apr 07 Python
python简单程序读取串口信息的方法
Mar 13 Python
python生成圆形图片的方法
Mar 25 Python
Python2.7环境Flask框架安装简明教程【已测试】
Jul 13 Python
python实现简单多人聊天室
Dec 11 Python
pyqt5与matplotlib的完美结合实例
Jun 21 Python
机器学习实战之knn算法pandas
Jun 22 Python
在SQLite-Python中实现返回、查询中文字段的方法
Jul 17 Python
Python银行系统实战源码
Oct 25 Python
django项目中新增app的2种实现方法
Apr 01 Python
django 数据库返回queryset实现封装为字典
May 19 Python
Python图片验证码降噪和8邻域降噪
Aug 30 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
轻松修复Discuz!数据库
2008/05/03 PHP
php实现mysql数据库操作类分享
2014/02/14 PHP
Thinkphp实现MySQL读写分离操作示例
2014/06/25 PHP
PHP永久登录、记住我功能实现方法和安全做法
2015/04/27 PHP
php简单统计在线人数的方法
2016/05/10 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
2018/05/16 PHP
jQuery中将函数赋值给变量的调用方法
2012/03/23 Javascript
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
2016/02/16 Javascript
AngularJS 避繁就简的路由
2016/07/01 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
2017/07/12 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
react高阶组件经典应用之权限控制详解
2017/09/07 Javascript
给vue项目添加ESLint的详细步骤
2017/09/29 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
Vue动态生成el-checkbox点击无法赋值的解决方法
2019/02/21 Javascript
vue-router 中 meta的用法详解
2019/11/01 Javascript
vue项目中使用bpmn为节点添加颜色的方法
2020/04/30 Javascript
9个JavaScript日常开发小技巧
2020/10/06 Javascript
js调用网络摄像头的方法
2020/12/05 Javascript
Python模块学习 re 正则表达式
2011/05/19 Python
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
TensorFlow 合并/连接数组的方法
2018/07/27 Python
python+unittest+requests实现接口自动化的方法
2018/11/29 Python
Python3 max()函数基础用法
2019/02/19 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
python实现取余操作的简单实例
2020/08/16 Python
CSS3中的注音对齐属性ruby-align用法指南
2016/07/01 HTML / CSS
白俄罗斯在线大型超市:e-dostavka.by
2019/07/25 全球购物
加拿大留学自荐信
2014/01/28 职场文书
自我推荐信范文
2014/05/09 职场文书
和谐家庭演讲稿
2014/05/24 职场文书
公务员年度考核登记表个人总结
2015/02/12 职场文书
一文搞清楚MySQL count(*)、count(1)、count(col)区别
2022/03/03 MySQL