Python元组tuple

Python的元组的元素不能修改。

元组创建很简单,只需在小括号中添加元素,并使用逗号隔开即可。

tup1 = ();                             # 创建空元组
tup1 = (50,);                          # 元组中只包含一个元素时,需要在元素后面添加逗号


1 访问元组

元组可以使用下标索引来访问元组中的值。

#!/usr/bin/python
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 );
print "tup1[0]: ", tup1[0]             # 输出:tup1[0]:  physics
print "tup2[1:5]: ", tup2[1:5]         # 输出:tup2[1:5]:  (2,3,4,5)
2 修改元组

元组中的元素值是不允许修改的,但我们可以对元组进行连接组合。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');
# tup1[0] = 100;                       <span style="font-family: Arial, Helvetica, sans-serif;">修改元组元素操作是非法的</span>
tup3 = tup1 + tup2;                    <span style="font-family: Arial, Helvetica, sans-serif;"># 创建一个新的元组</span>
print tup3;                            # 输出:(12, 34.56, 'abc', 'xyz')
3 删除元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。

#!/usr/bin/python
tup = ('physics', 'chemistry', 1997, 2000);
print tup;                             # 输出:('physics', 'chemistry', 1997, 2000)
del tup;
print "After deleting tup : "          # 输出:After deleting tup :
print tup;                             
# 输出:Traceback (most recent call last):
#        File "test.py", line 9, in <module>
#          print tup;
#       NameError: name 'tup' is not defined
4 元组运算符

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

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 迭代
5 元组索引、截取

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

例如:L = ('spam', 'Spam', 'SPAM!')

Python 表达式 结果 描述
L[2] 'SPAM!' 读取第三个元素
L[-2] 'Spam' 反向读取;读取倒数第二个元素
L[1:] ('Spam', 'SPAM!') 截取元素
6 无关闭分隔符

任意无符号的对象,以逗号隔开,默认为元组。

#!/usr/bin/python
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
7 元组内置函数

7.1 cmp(tup1, tuo2):

描述:

比较两个元组元素。

返回值:

如果比较的元素是同类型的,则比较其值,返回结果。
如果两个元素不是同一种类型,则检查它们是否是数字。
    如果是数字,执行必要的数字强制类型转换,然后比较。
    如果有一方的元素是数字,则另一方的元素"大"(数字是"最小的")。
    否则,通过类型名字的字母顺序进行比较。
如果有一个列表首先到达末尾,则另一个长一点的列表"大"。
如果用尽了两个列表的元素,而且所有元素都是相等的,那么结果就是个平局,返回 0。

实例:

#!/usr/bin/python
tuple1, tuple2 = (123, 'xyz'), (456, 'abc')
print cmp(tuple1, tuple2);             # 输出:-1
print cmp(tuple2, tuple1);             # 输出:1
tuple3 = tuple2 + (786,);
print cmp(tuple2, tuple3);             # 输出:-1

Done.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值