Python 知识量:10 - 41 - 150
元组是一种不可变序列,其包含0个或多个值。元组元素可以是任何Python值,同一个元组的元素可以是不同类型。
在结构上,元组用小括号括起来表示,其中的每个元素用逗号分隔。空元组用()表示,单元素元组(即:只含有一个元素的元组)其单元素后面的逗号不能省略。下面是一些元组的示例:
>>> box=(1,-62,'hello',(0,5),3.14) >>> box (1, -62, 'hello', (0, 5), 3.14) >>> len(box) 5 >>> box[2] 'hello' >>> box[-2] (0, 5) >>> box[-2][1] 5
下面利用type命令查看一下元组的类型:
>>> type(box) <class 'tuple'> >>> type(box[-1]) <class 'float'> >>> type(box[-2]) <class 'tuple'>
通过以上代码可见,元组中可以包含不同类型的元素,甚至包含其他元组也可以。下面是单元素元组的情况:
>>> type(()) <class 'tuple'> >>> type((7,)) <class 'tuple'> >>> type((7)) # 7后面没有逗号,成为了一个表达式。 <class 'int'>
单元素元组的元素后面的逗号如果省略,就变为了一个用小括号括起来的表达式。包含多个元素的元组,其最后一个元素后面不必加逗号,但是总是加上一个逗号,可以避免遇到单元素元组时因为疏漏而犯错。
元组的不可变意味着一旦创建了一个元组,就不能再对其进行修改。除了元组之外,字符串、整数、浮点数也都具有不可变性。不可变性可以提高元组的使用安全性,因为它不会无意间被改动。
在应用中,如果确实需要修改已经存在的元组,只能重新创建一个新元组,并用经过修改加工后的老元组元素进行填充。下面是一个删除元组头部元素的变通方法:
>>> box=(1,2,3,4,5) >>> box (1, 2, 3, 4, 5) >>> box_mini=box[1:] >>> box_mini (2, 3, 4, 5)
Python提供的常用元组函数如下表所示:
函数名 | 返回值 |
---|---|
x in tuple | 如果x是元组tuple的元素,返回True,否则返回False。 |
len(tuple) | 元组tuple的元素个数。 |
tuple.count(x) | x在元组tuple中出现的次数。 |
tuple.index(x) | x在元组tuple中第一次出现的位置索引;如果没找到,将引发ValueError异常。 |
下面是元组函数的应用示例:
>>> animals=('dog','cat','pig') >>> animals ('dog', 'cat', 'pig') >>> 'cat' in animals True >>> 'bird' in animals False >>> len(animals) 3 >>> animals.count('dog') 1 >>> animals.index('pig') 2 >>> animals.index('bird') Traceback (most recent call last): File "<pyshell#37>", line 1, in <module> animals.index('bird') ValueError: tuple.index(x): x not in tuple
可以使用运算符*和+来拼接元组:
>>> number=(1,2,3,4,5) >>> number2=(6,7,8,9,10) >>> number+number2 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) >>> number*2 (1, 2, 3, 4, 5, 1, 2, 3, 4, 5) >>> number+animals (1, 2, 3, 4, 5, 'dog', 'cat', 'pig')
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6