博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python __元组
阅读量:6567 次
发布时间:2019-06-24

本文共 2723 字,大约阅读时间需要 9 分钟。

元祖定义           

    python的元祖跟列表类似,不同的地方是元祖一旦创建,元素就不可以修改。

    元祖创建很简单,只需要在小括号里添加元素并以逗号隔开就可以了。

1 >>> Tuple = (1,2,3,4,5,)2  3  >>> type(Tuple)4  5 
6 7 >>> new_Tuple = (,)#定义空元祖

    元祖中只包含一个元素时,需要在元素后面添加一个逗号,否则会被当做运算符使用

1 >>>new_ tuple = (520)2 >>> type(new_tuple)3 
4 5 >>>new_ tuple1 = (50,)6 >>> type(new_ tuple1)7

    元祖与字符串相似,下标索引从0开始,

访问元祖           

元祖可以使用下标索引来访问其中的元素,例如:

1 >>> new_tuple = ('LiuYiFei','LiXiaoLu','FanBingbing','LiBingbing') 2  3 >>> print('new_tuple[1] —————>:',new_tuple[1])#访问元组 4 new_tuple下标为1的元素 5  6 new_tuple[1] —————>: LiXiaoLu 7  8 >>> print('new_tuple[1:] —————>:',new_tuple[1:])#截取元祖new_tuple元素 9   10 11 new_tuple[1:] —————>: ('LiXiaoLu', 'FanBingbing', 'LiBingbing')

元祖只有两个属性方法,index  count

1 >>> a = (1,2,3,1,3)2 3 >>> a.index(1)#查找元素的索引位置,跟列表类似4 05 6 >>> a.count(3)#统计元素的个数,跟列类似7 2

 

 

修改元祖           

  元祖中的元素值是不可以修改的,但是我们可以对元祖进行拼接组合,如下列:

1 >>> new_tuple = ('LiuYiFei','LiXiaoLu','FanBingbing','LiBingbing')2 3 >>> new_tuple1 = (1,2,3,4)4 5 >>> new_tuple2 = new_tuple + new_tuple1   #对元祖进行拼接,用一个新的元祖来接收6 7 >>> print(new_tuple2)8 9 ('LiuYiFei', 'LiXiaoLu', 'FanBingbing', 'LiBingbing', 1, 2, 3, 4) #答印结果  

或者使用嵌套方法:

1 >>> a = ('a','b',['A','B'])2 3 >>> a[2][0] = 'x'4 >>> a[2][1] = 'y'5 6 >>> a7 ('a', 'b', ['x', 'y'])

  表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。

 

删除元祖           

  元祖中的元素值是不可以删除的,但是我们可以使用del内置函数来删除,例如:

1 >>> new_tuple = ('LiuYiFei','LiXiaoLu','FanBingbing','LiBingbing') 2  3 >>> del(new_tuple) 4  5 >>> print(new_tuple) 6#因为我们已经把new_tuple这个元祖删除了,所以在我们调用的时候就会报错,说我们 ‘NameError: name 'new_tuple' is not defined’,new_tuple这个变量名没定义
7 Traceback (most recent call last):  8 File "
", line 1, in
9 print(new_tuple) 10 NameError: name 'new_tuple' 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 迭代

 

 

 

元组内置函数

Python元组包含了以下内置函数

序号 方法及描述 实例
1 len(tuple)
计算元组元素个数。
>>> tuple1 = ('Google', 'Runoob', 'Taobao') >>> len(tuple1) 3 >>>
2 max(tuple)
返回元组中元素最大值。
>>> tuple2 = ('5', '4', '8') >>> max(tuple2) '8' >>>
3 min(tuple)
返回元组中元素最小值。
>>> tuple2 = ('5', '4', '8') >>> min(tuple2) '4' >>>
4 tuple(seq)
将列表转换为元组。
>>> list1= ['Google', 'Taobao', 'Runoob', 'Baidu'] >>> tuple1=tuple(list1) >>> tuple1 ('Google', 'Taobao', 'Runoob', 'Baidu')

 

 

 

 

 2018-02-01

  注:以上内容均由菜鸟教程整理提供。

 

转载于:https://www.cnblogs.com/huangmeisheng/p/8398547.html

你可能感兴趣的文章
程序中的魔鬼数字
查看>>
session cookie
查看>>
$.extend({},defaults, options) --(初体验三)
查看>>
android 一步一步教你集成tinker(热修复)
查看>>
到底有多少内存
查看>>
centos7.3 安装ovirt-engine4.0 版本
查看>>
Openstack的环境的Mitaka部署环境服务,实例(1)
查看>>
文档的压缩与打包
查看>>
python3 在不同操作系统安装第三方库方法
查看>>
python编写登录接口
查看>>
MySQL高可用方案之多级复制
查看>>
OVS 中的各种网络设备 - 每天5分钟玩转 OpenStack(128)
查看>>
Trafficserver Cluster模式
查看>>
亚马逊推出 Blox,用于 EC2 容器服务的开源工具集合
查看>>
Linux:在中国没有真正的新闻
查看>>
iOS推送功能极光推送的介绍与实现
查看>>
单用户模式与grub加密
查看>>
Chromium Graphics: 3D上下文及其虚拟化 - Part I
查看>>
jquery javascript获得网页的高度和宽度
查看>>
2019 -2-15 复习
查看>>