Python序列内置类型之元组类型详解

1.元祖的概念

Python中的元组与列表类似,都是一个序列,不同的是元组的元素不能修改而已。

2.元组的创建

元组使用小括号,列表使用方括号。

tup = ('cdx', 'red', 'molly')

注意:元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。

tup1 = (50)

print(type(tup1)) # 不加逗号,类型为整型

>>>

tup1 = (50,)

print(type(tup1)) # 加上逗号,类型为元组

>>>

3.Python元组操作

1.索引与截取(访问元组)

#索引

tup = (1, 2, 3, 4, 5, 6, 7)print(tup[2])>>> 3

#截取

tup = (1, 2, 3, 4, 5, 6, 7 )

print(tup[1:])

>>>2,3,4,5,6,7

2.增删(元组中的元素值是不允许修改的,只能创建一个新元组然后存储值。我们可以对元组进行连接组合,由于元组中的元素值是不允许删除的,我们只能使用del语句来删除整个元组)

tup1 = (12, 34.56);

tup2= ('abc', 'xyz')#修改元组元素操作是非法的。因为元组不能改变

tup1[0] = 100#报错

#创建一个新的元组

tup3 = tup1 +tup2;print(tup3)>>>(12, 34.56, 'abc', 'xyz')

#删除一个元组

tup = ('cdx','redmolly')

del tup

print (tup)

#会报错

Traceback (most recent call last):

File "test.py", line 8, in

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

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.元组的内置函数

序号

方法及描述

实例

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')

5.元组的一些高级补充

1.tuple元素不可变有一种特殊情况,当元素是可变对象时。对象内部属性是可以修改的。tuple的不可变限制只是在一个纬度上:元素的类型。实现理解,tuple的元素所保存的内容(数值或内存地址)是不允许修改的,但地址映射的对象自身是可以修改的。举个例子你就懂了。

a = (1,[3,2])

a[1][0] = 1

print(a)>>>(1, [1, 2])

a[1].append(3)print(a)>>>(1, [1, 2, 3])

2.namedtuple(具名元组)

1.具名元组:因为元组的局限性:不能为元组内部的数据进行命名,所以往往我们并不知道一个元组所要表达的意义,所以引入了 collections.namedtuple这个工厂函数,来构造一个带字段名的元组。所谓工厂函数就是一个加工方法,把数据放进去,加工好了拿出来就是成品。比如(tuple = (12,"cdx","大三")),创建这样一个元组,里面的数据没有名字的话,不知道是干啥的。

2.使用格式:collections.namedtuple(typename, field_names, verbose=False, rename=False)

importcollections#User = collections.namedtuple('User', ['name', 'age', 'id'])

user = User('tester', '22', '464643123')print(user)>>>User(name='tester', age='22', id='464643123')

PS(想为元组增加一些值,可以用一些其他办法,大家自己想想哦)

python内置序列类型_Python序列内置类型之元组类型详解相关推荐

  1. python内置函数入门_Python入门-内置函数一

    什么是内置函数?就是python给你提供的拿来直接用的函数,比如print,input等等,截止到python版本3.6.2 python一共提供了68个内置函数,他们就是python直接提供给我们的 ...

  2. Java虚拟机学习总结(3)——JDK内置工具(jps、jstack、jmap、jstat)使用详解

    一.JDK内置工具 - javap 1. 介绍 java 反编译工具,主要用于根据Java字节码文件反汇编为Java源代码文件. 2.命令 javap <options> <clas ...

  3. python中4j什么意思_Python学习:4.数据类型以及运算符详解

    运算符 一.算数运算: 二.比较运算: 三.赋值运算 四.逻辑运算 五.成员运算 基本数据类型 一.Number(数字) Python3中支持int.float.bool.complex. 使用内置的 ...

  4. python字符串strip的作用_Python字符串函数strip()原理及用法详解

    Python字符串函数strip()原理及用法详解 strip:用于移除字符串头尾指定的字符(默认为空格)或字符序列.注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符. 语法:str.s ...

  5. python爬取动态网页_python爬取动态网页数据,详解

    原理:动态网页,即用js代码实现动态加载数据,就是可以根据用户的行为,自动访问服务器请求数据,重点就是:请求数据,那么怎么用python获取这个数据了? 浏览器请求数据方式:浏览器向服务器的api(例 ...

  6. python输入参数改变图形_Python基于Tensor FLow的图像处理操作详解

    本文实例讲述了Python基于Tensor FLow的图像处理操作.分享给大家供大家参考,具体如下: 在对图像进行深度学习时,有时可能图片的数量不足,或者希望网络进行更多的学习,这时可以对现有的图片数 ...

  7. python爬虫常见报错_Python爬虫常见HTTP响应状态码详解

    在使用Python进行网页数据抓取时,经常会遇到无数据返还或错误等异常,这个时候可以通过status_code命令来查看获得http请求返回的状态码,以便查找原因并制定相应的解决方案.import r ...

  8. python在统计专业的应用_Python统计学一数据的概括性度量详解

    一.数据的概括性度量 1.统计学概括: 统计学是应用数学的一个分支,主要通过利用概率论建立数学模型,收集所观察系统的数据,进行量化的分析.总结,并进而进行推断和预测,为相关决策提供依据和参考.统计学主 ...

  9. python中index什么意思_Python中index()和seek()的用法(详解)

    1.index() 一般用处是在序列中检索参数并返回第一次出现的索引,没找到就会报错,比如: >>> t=tuple('Allen') >>> t ('A', 'l ...

  10. python的常量和变量_python中的常量和变量代码详解

    局部和全局变量: # name='lhf' # def change_name(): # # global name # name='帅了一比' # print('change_name',name) ...

最新文章

  1. ubuntu安装ibus输入法
  2. mybatis传入list、array等数据集合的处理
  3. python 模拟抽象类
  4. 《VMware、Citrix和Microsoft虚拟化技术详解与应用实践》一2.4 ESXi 5.0的简单设置...
  5. 单调递增最长子序列 - 从最长公共子序列到单调递增最长子序列
  6. 级联分类器训练及其参数的含义
  7. 怎样用python绘制简单的图形_使用python绘制图形并使用HTML显示它
  8. 报名丨“眼界大开 声临其境”网易首届音视频技术大会倒计时!
  9. cad蜂鸟工具_蜂鸟视图地图数据中台,全面提升商业地产的可视化信息管控
  10. linux at查看进程命令,at命令 - Linux命令大全 | linux教程
  11. spring学习(11):使用配置类
  12. 遗留代码写的烂,我能怎么办?
  13. joy数据向量化处理
  14. win10锁屏c语言,Win10秘笈:如何在锁屏打开任意应用程序?
  15. PDE优化|逆问题中偏微分方程约束优化的惩罚方法(Matlab代码实现)
  16. win7开机卡在正在启动_手把手教你大白菜PE启动盘安装win7最详细的图解教程
  17. Unity Shader 基于 RGB 插值的 Wireframe 描边着色器
  18. selenium定位不准的问题
  19. 数据库操作:删除数据delete
  20. 修改Mysql索引长度限制 解决767 byte限制

热门文章

  1. 最多两次股票交易-Best Time to Buy and Sell Stock III
  2. BZOJ3577 : 玩手机
  3. MSSQLSERVER数据库- 递归查询例子
  4. C#TreeView控件
  5. 从人生,从马克思主义哲学角度对于软件设计的思考20090824
  6. 如何进行现场演示(二)
  7. vue router html后缀,vue-router.html
  8. Oracle创建序列的sql语句,【Oracle学习】之 序列(Sequence)
  9. 基类的构造函数也可以被继承_「C++ Primer plus 心得」13.类继承
  10. 什么是整除,什么是素数