python数据结构-序列之元组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python数据结构-序列之元组相关的知识,希望对你有一定的参考价值。

python中包含六种内建的序列:列表;元组;字符串;unicode字符串;buffer对象;xrange对象。


一、元组:不可变序列

元组与列表一样,也是一种序列。唯一不同是元组不能修改(元组和列表在技术实现上有一些不同,但是在实际使用时,可能不会注意到。且元组没有像列表一样的方法)。


1、创建元组:用逗号(,)分开,元组(大部分时候)是通过圆括号括起来的

>>> 1,2,3            //直接在python编辑器输入
(1, 2, 3)
>>>
>>> (1,2,3)        //用括号括起来定义元组
(1, 2, 3)
>>> ()                //空元组
()
>>>
>>> 3
3
>>> (3,)        //定义一个元素的元组(注意:必须有逗号)
(3,)
>>>
>>> 3*(3)
9
>>> 3*(3,)
(3, 3, 3)
>>>


2、元组函数:

a)、tuple

tuple函数的功能与list函数基本上一样:以一个序列作为参数并转为元组,如果参数就是元组,则原样返回。

如:

>>> a=(1,2,3)
>>> b=[1,2,3]
>>> tuple(a)
(1, 2, 3)
>>> tuple(b)
(1, 2, 3)
>>> b
[1, 2, 3]
>>>

>>> tuple([‘a‘,‘b‘,‘c‘])
(‘a‘, ‘b‘, ‘c‘)
>>>


3、基本元组操作:

元组除了创建与访问外,基本没有其他操作,参照通用序列操作(索引、分片、加、乘、迭代、成员资格等)

如:

>>> a=(1,2,3,4,5,6,1,3,4,2)
>>> a[2]        //索引
3
>>> a[2:5]        //分片 (元组的分片还是元组,正如列表的分片还是列表一样)
(3, 4, 5)
>>> a[2::2]        //分片和步长
(3, 5, 1, 4)
>>> b=(11,12)
>>> a+b               //元组相加
(1, 2, 3, 4, 5, 6, 1, 3, 4, 2, 11, 12)      
>>> 2 in a+b        //成员判断
True
>>> 4*b                //乘运算
(11, 12, 11, 12, 11, 12, 11, 12)
>>>


4、元组存在的意义:

列表一般可以替代元组,但是在以下两个方面来说,元组是不能替代的:

a)、元组可以在映射(和集合的成员)中当作键使用,而列表不行

b)、元组作为很多内建函数和方法的返回值存在,也就是说必须对元组进行处理。只要不尝试修改元组,那么“处理”元组在绝大多数情况下就是把他们当作列表来进行操作(除非需要使用一些元组没有的方法,如sort和pop)

以上是关于python数据结构-序列之元组的主要内容,如果未能解决你的问题,请参考以下文章

Python数据类型之元组

Python中的基本数据类型之元组类型

python的序列之元组

Python之元组列表and 字典

Python列表之元组

Python基础进阶之路之元组字典和字符串