第3.4节 泛善可陈的元组
本来计划是列表还要讲一节列表解析,另外列表的内容介绍完之后就讲元组、再之后是字符串,将序列的内容讲完。考虑到列表解析的内容比较复杂,字符串功能很强大,内容比列表还多,因此接下来先介绍元组、然后介绍字典,再讲列表解析和字典解析,最后再讲字符串。
一、 概念
元组(tuple)是不可修改的序列,元组的元素之间用逗号分隔,外面可以加小括号,也可以不加。如下例子都是元组:
t1=1,[‘a’,‘n’,‘c’],‘abc’ #包含三个元素的元组,第二个元素是个列表
t1=(1,[‘a’,‘n’,‘c’],‘abc’) #与上一行赋值含义是一样的
t1=() #空元组
注意,如果元组只有一个元素,必须在该元素后面加逗号,否则就表示该元素本身的数据类型。例如:
t1=(1) #t1=1,类型是整型
t2=(2,) #t2=(2,),类型是元组
t3=(‘A’) #t3=‘A’,字符型
t4=(‘B’,) #t4=(‘B’,),元组
t5=([3,‘c’]) #t5=[3,‘c’],列表
t6=([3,‘c’],) #t5=([3,‘c’],),元组
2*(12+2) #数字,值28
2*(12+2,) #元组,值为(14, 14)
二、 方法
- 元组可以从列表、字符串、元组创建
- t1=tuple([1,2,3]) #返回元组(1,2,3)
- t2=tuple(‘hello’) #返回元组(‘h’,’e’,’l’,’l’,’o’)
- t3 = tuple(t1) #从t1复制元组的元素到t3
- 元组支持索引和切片的访问,但不支持变更元组的内容,因为元组是不可变的
- 序列的其他读取数据的方法和函数包括拼接、乘法、in、count、index、sorted、reversed都可以使用;
- len、max、min与列表方法一样
- 其他方法,包括修改元组元素、变更元素内容的方法和函数都不能使用,包括sort、reverse、insert、pop、remove、extend、copy、clear等都不能使用。
总体来说,元组操作简单,基本上能用元组的地方都能用列表,只有映射的键不能用列表但能用元组,另外Python部分内置函数和方法返回元组。
老猿Python系列文章用于逐步介绍老猿学习Python后总结的学习经验,这些经验有助于没有接触过Python的程序员可以很容易地进入Python的世界。该系列文章同步发表于:
http://blog.sina.com.cn/learnpython
http://laoyuanpython.lofter.com/
https://me.csdn.net/LaoYuanPython
欢迎大家批评指正,谢谢大家关注!