本来计划是列表还要讲一节列表解析,另外列表的内容介绍完之后就讲元组、再之后是字符串,将序列的内容讲完。考虑到列表解析的内容比较复杂,字符串功能很强大,内容比列表还多,因此接下来先介绍元组、然后介绍字典,再讲列表解析和字典解析,最后再讲字符串。

一、 概念

元组(tuple)是不可修改的序列,元组的元素之间用逗号分隔,外面可以加小括号,也可以不加。如下例子都是元组:

t1=1,[‘a’,‘n’,‘c’],‘abc’ #包含三个元素的元组,第二个元素是个列表

t1=(1,[‘a’,‘n’,‘c’],‘abc’) #与上一行赋值含义是一样的

t1=() #空元组

注意,如果元组只有一个元素,必须在该元素后面加逗号,否则就表示该元素本身的数据类型。例如:

第3.4节 泛善可陈的元组_元组

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)

二、 方法

  1. 元组可以从列表、字符串、元组创建
  2. t1=tuple([1,2,3]) #返回元组(1,2,3)
  3. t2=tuple(‘hello’) #返回元组(‘h’,’e’,’l’,’l’,’o’)
  4. t3 = tuple(t1) #从t1复制元组的元素到t3
  5. 元组支持索引和切片的访问,但不支持变更元组的内容,因为元组是不可变的
  6. 序列的其他读取数据的方法和函数包括拼接、乘法、in、count、index、sorted、reversed都可以使用;
  7. len、max、min与列表方法一样
  8. 其他方法,包括修改元组元素、变更元素内容的方法和函数都不能使用,包括sort、reverse、insert、pop、remove、extend、copy、clear等都不能使用。

总体来说,元组操作简单,基本上能用元组的地方都能用列表,只有映射的键不能用列表但能用元组,另外Python部分内置函数和方法返回元组。

老猿Python系列文章用于逐步介绍老猿学习Python后总结的学习经验,这些经验有助于没有接触过Python的程序员可以很容易地进入Python的世界。