晓夏

YoungCheung

Zhang Sir's technical way

Python数据类型之元组

浏览量:710

        Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

如下实例:

>>> tup1=('a','b','1','2')
>>> tup2=(1,2,3,4)
>>> tup3="b","b","c","d"

创建空元组:

>>> tup=();

元组中只包含一个元素时,需要在元素后面添加逗号

tup = (50,);

元组与字符串类似,下标索引从0开始,可以进行截取,组合等。

元组操作

1.查询元组:

>>> tup1=('a','b','1','2')
>>> tup2=(1,2,3,4)
>>> tup1[0]
'a'
>>> tup2[1:3]
(2, 3)

2.修改

>>> tup1=('a','b','1','2')
>>> tup2=(1,2,3,4)
>>> tup1[0]='d'              #元组中的数据时不允许修改的
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> 
>>> tup3=tup1+tup2
>>> tup3
('a', 'b', '1', '2', 1, 2, 3, 4)

3.删除元组

>>> tup1=('1','2','3','a','b','c')
>>> tup1
('1', '2', '3', 'a', 'b', 'c')
>>> del tup1
>>> tup1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'tup1' is not defined
# 表示数据已经被清空

元组运算符

与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

Python 表达式结果描述
len((1, 2, 3))3计算元素个数
(1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)连接
['Hi!'] * 4['Hi!', 'Hi!', 'Hi!', 'Hi!']复制
3 in (1, 2, 3)True元素是否存在
for x in (1, 2, 3): print x,1 2 3迭代

4.元组索引截取

        因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:

元组:

>>> tup=('1','2','3','a','b','c')
>>> tup[2]
'3'
>>> tup[-2]
'b'
>>> tup[1:]
('2', '3', 'a', 'b', 'c')

5.无关闭分隔符

        任意无符号的对象,以逗号隔开,默认为元组,如下实例:

>>> print 'abc', -4.24e93, 18+6.6j, 'xyz';
abc -4.24e+93 (18+6.6j) xyz
>>> x, y = 1, 2;
>>> print "Value of x , y : ", x,y;
Value of x , y :  1 2

内置函数:

1、cmp(tuple1, tuple2)  比较两个元组元素。

>>> tup1=(1,)
>>> tup2=(10,)
>>> cmp(tup1,tup2)
-1

如果比较的元素是同类型的,则比较其值,返回结果。

 如果两个元素不是同一种类型,则检查它们是否是数字。

  如果是数字,执行必要的数字强制类型转换,然后比较。

  如果有一方的元素是数字,则另一方的元素"大"(数字是"最小的")

  否则,通过类型名字的字母顺序进行比较。

如果有一个列表首先到达末尾,则另一个长一点的列表"大"。

如果我们用尽了两个列表的元素而且所 有元素都是相等的,那么结果就是个平局,就是说返回一个 0。

2、len(tuple)   计算元组元素个数。

>>> tup=('1','2','3','a','b','c')
>>> len(tup)
6

3、max(tuple)   返回元组中元素最大值。

4、min(tuple)   返回元组中元素最小值。

>>> tup=('1','2','3','a','b','c')
>>> len(tup)
6
>>> max(tup)
'c'
>>> min(tup)
'1'

5、tuple(seq)   将列表转换为元组。

示例1:

>>> tuple([1,2,3,4])
(1, 2, 3, 4)
>>> tuple({1:2,3:4})
(1, 3)
>>> tuple((1,2,3,4))
(1, 2, 3, 4)

示例2:

>>> List = [123, 'xyz', 'zara', 'abc'];
>>> tup=tuple(List)
>>> tup
(123, 'xyz', 'zara', 'abc')

神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。