1、元组创建

 tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"
tup4 =() #创建空元祖
tup5=(50,)#元组中只包含一个元素时,需要在元素后面添加逗号
tup6=50,
list1=[34,123,1]
tup7=tuple(list1)

2、元祖访问

 tup1 = ('physics', 'chemistry', 1997, 2000)
print(tup1[0]) #使用下标索引来访问元组中的值

3、元组操作

tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
tup3 = tup1 + tup2 #对元组进行连接组合
del tup1 #删除元组
tup4=('Hi!',) * 4 #元组复制
cnt=len((1, 2, 3)) #计算元素个数
isin=3 in (1, 2, 3) #元素是否存在
for x in (1, 2, 3): #元组迭代
print x
a=max(tup1) #最大元素
b=min(tup1) #最小元素

4、元组解包

 tup=(1,2,3)
a,b,c=tup

5、值交换

 a='wer'
b='dfgh'
a,b=b,a

6、元组与列表

①元组不可修改,列表可修改

②元组占用空间小

③可以将元祖用作字典的键

④命名元组可以作为对象的替代

⑤函数参数是以元组形式传递的

7、命名元组

命名元组是元组的子类,既可以通过.name访问值,也可以通过位置下标访问。

from collections import namedtuple
Duck=namedtuple('Duck','bill tail')
duck=Duck('wide orange','long')
>>>duck
Duck(bill='wide orange',tail='long')
>>>duck.bill
wide orange
>>>duck.tail
long

也可以使用字典来构造:

parts={'bill':'wide orange','tail':'long'}
duck2=Duck(**parts)
>>>duck
Duck(bill='wide orange',tail='long')

其中**parts是个关键词变量,作用是将parts字典中的键值抽取出来作为参数提供给Duck()使用。等价于:

duck2=Duck(bill='wide orange',tail='long')

命名元组不可变,但可以替换其中某些域的值并返回一个新的命名元组:

duck3=duck2._replace(tail='magnificent',bill='asdasd')

命名元组无法通过,name添加新的域。

命名元组的好处:

  • 和不可变对象相似
  • 与使用对象相比,使用命名元组在时间和空间上效率更高
  • 可以使用.对属性进行访问,而不需要使用字典风格的方括号
  • 可以作为字典的键

python之元组操作的更多相关文章

  1. Python:元组操作总结

    Python的元组和列表类似,不同之处在于元组中的元素不能修改(因此元组又称为只读列表),且元组使用小括号而列表使用中括号,如下: tup1=('physics','chemistry',1997,2 ...

  2. 关于python的元组操作

    关于元组: 元组和列表是类似的,但是元组中的数据是不可以修改的. 元组是一对 () 元组操作: 元组是不可以修改的所以对元组的操作极少 定义空元组(因为元组一旦创建,数据不可被修改,所以极少创建空元组 ...

  3. python基础 - 元组操作

    元组 tuple 元组是不可变对象. 元组初始化 t = tuple() t = () t = tuple(range(1,7,2)) t = (1,2,3,4,5,1) t = (1,) t = ( ...

  4. python的元组数据类型及常用操作

    Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup1 = ('physi ...

  5. Python基础——列表、元组操作

    列表.元组操作 列表: 列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0 ...

  6. python基础之 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  7. 小白的Python之路 day2 列表、元组操作

    1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 1 names = ['Tom','Jack','Qian'] 通过下标访问列表中 ...

  8. python学习笔记(三)字典操作和元组操作

    字典: 字典也是我们开发过程中最常用的一种数据类型:具有极快的查找速度:字典是一种key-value的数据类型,比如说要存每个人的信息,那么每个人的编号就是key,value就是每个人的信息,这样的话 ...

  9. Python 文件常见操作

    # -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname()  ...

随机推荐

  1. HBase学习笔记——配置及Shell操作

    1.HBase的配置 还是以前配置的集群,见:http://www.cnblogs.com/DarrenChan/p/6493373.html 我们约定:weekend03和weekend04放HMa ...

  2. Nucleus PLUS简单介绍

    近些年来,随着嵌入式系统飞速的发展,嵌入式实时操作系统广泛地应用在制造工业.过程控制.通讯.仪器仪表.汽车.船舶.航空航天.军事.装备.消费类产 品等方面.今天嵌入式系统带来的工业年产值超过了1万亿美 ...

  3. asp.net调用系统设置字体文本框的方法

    本文实例展示了asp.net调用系统设置字体文本框的方法,是进行web开发中很实用的技巧.具体实现步骤如下: 一.调用系统字体文本框 首先在bin文件夹右击-->添加引用-->.net标签 ...

  4. JDK动态代理具体解释

    首先说一下动态代理和静态代理的差别: 静态代理:是预先写好或由特定工具自己主动生成的代码.再对其编译.在程序执行前.代理类的.class文件就已经存在了. 动态代理:代理是在程序执行时,运用反射机制动 ...

  5. Android多线程分析之中的一个:使用Thread异步下载图像

    Android多线程分析之中的一个:使用Thread异步下载图像 罗朝辉 (http://blog.csdn.net/kesalin) CC 许可.转载请注明出处 打算整理一下对 Android Fr ...

  6. 在odl中怎样实现rpc

    opendaylight作为sdn主要开源项目,採用osgi框架.已经得到非常多厂商的支持.氦版本号也公布在即. 以下介绍一下在odl中怎样实现rpc. odl使用yang作为model模型定义文件. ...

  7. IOS开发报错之Undefined symbols for architecture armv6

    本文转载至  http://blog.csdn.net/sanpintian/article/details/7575434 今天在项目中引入SVSegmentedControl.h/.my以及SVS ...

  8. hiho一下第109周《Tower Defense Game》

    题目链接:传送门 题目大意:给你一棵树,根节点为1,树上每一个节点都有一个花费值和收入值(花费值>=收入值),要访问一个节点需先支付花费值,访问该节点结束后得到收入值 同时访问树时要求是有序的, ...

  9. Thrift初试

    Restful 基于 Http 进行通讯. 开放.标准.简单.兼容性升级容易: 性能略低.在 QPS 高或者对响应时间要求苛刻的服务上,可以用 RPC,RPC采用二进制传输.TCP 通讯,所以通常性能 ...

  10. ZOJ 3941 Kpop Music Party(省赛, 贪心)

    Kpop Music Party Time Limit: 2 Seconds      Memory Limit: 65536 KB Marjar University often hosts Kpo ...