Python 元组

元组的定义  元组(tuple)是一种Python对象类型,元组也是一种序列

Python中的元组与列表类似,不同之处元组的元素不能修改

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

元组的创建,即在括号中添加元素,并使用逗号隔开

 >>> a = 123,"aaa",["python","pass"]
>>> a
(123, 'aaa', ['python', 'pass'])
>>> type(a)
<type 'tuple'>
>>> print "I love %s,and I am a %s"%("Python","programmer")
I love Python,and I am a programmer

元组是一种序列,序列的基本操作 len() 、+、*、in、max()、min()、cmp()

元组与序列之间的转换

元组是不可修改的

 >>> a =(1,2,3)
>>> id(a) #a与b两个元组进行对比,是两个不同的对象
44307080L
>>> b=(1,3,2)
>>> id(b)
48683696L
>>> a
(1, 2, 3)
>>> len(a) #计算长度
3
>>> b
(1, 3, 2)
>>> a + b #将两个元组连接在一起
(1, 2, 3, 1, 3, 2)
>>> a * 3 #将a元组重复3次
(1, 2, 3, 1, 2, 3, 1, 2, 3)
>>> 3 in a #判断3这个元素是否在a这个元组中
True
>>> 4 in a #判断4这个元素是否在a这个元组中
False
>>> max(a) #计算元组a中的最大值
3
>>> min(a) #计算元组a中的最小值
1
>>> cmp(a,b) #比较元组a、b的大小
-1
>>> alst =list(a) #将元组转换为列表
>>> alst
[1, 2, 3]
>>> c =tuple(alst) #将列表转换为元组
>>> c
(1, 2, 3)
>>> a
(1, 2, 3)
>>> a.append(4) #向元组中追加元素,元组不可追加元素
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'append' #元组没有属性append
>>> dir(tuple) #dir 查看元组,仅有count index
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']
>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

元组的索引和切片,与列表和字符串类似

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

 >>> a
(1, 2, 3)
>>> a[0] #通过索引值取出元素
1
>>> a[1]
2
>>> a[2]
3
>>> a[1:] #通过切片方式取出元素
(2, 3)
>>> a[0:2]
(1, 2)
>>> a[::-1] #将元组a反转
(3, 2, 1)
>>> alst[1]=100 #向alst列表中增加元素 alst[1]
>>> alst
[1, 100, 3]
>>> a[1]=100 #元组中不能通过此方式添加元素
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment 元组不支持修改
>>> temp =list(a) #将元组a转换成列表存于temp临时变量中
>>> temp[1]=100    #将100添加到列表temp索引位置为1的地方
>>> a =tuple(temp)  #再将temp转为元组
>>> a          #实现元组与列表之间的互转
(1, 100, 3)
>>> [1]      #单独的[1]是一个列表
[1]
>>> type([1])
<type 'list'>
>>> type((1)) #单独(1)是一个整型
<type 'int'>
>>> type((1,)) #单独(1,)是一个元组, 元组中只包含一个元素时,需要在元素后面添加逗号
<type 'tuple'>
>>>

元组的count()和index()

 >>> a
(1, 100, 3)
>>> b=a*3
>>> b
(1, 100, 3, 1, 100, 3, 1, 100, 3)
>>> b.count(1) #统计1出现的次数
3
>>> b.index(3) #计算3第一次出现的位置
2

元组的意义

元组比列表操作速度快

对数据“写保护” 因为元组不可修改

可用于字符串格式化中

可作为字典的key

Python 学习笔记(九)Python元组和字典(一)的更多相关文章

  1. Python学习笔记----列表、元组和字典的基础操作

    文章目录 一.列表的基本操作 1.1 修改列表中的某个数据 1.2 获取某个元素的返回值(返回的是索引) 1.3 在列表中插入新的元素 1.4 删除列表中的元素 1.5 +和* 二.内置的函数和方法 ...

  2. python3.4学习笔记(九) Python GUI桌面应用开发工具选择

    python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96 ...

  3. Python学习笔记九

    Python学习笔记之九 为什么要有操作系统 管理硬件,提供接口. 管理调度进程,并且将多个进程对硬件的竞争变得有序. 操作系统发展史 第一代计算机:真空管和穿孔卡片 没有操作系统,所有的程序设计直接 ...

  4. python 学习笔记 9 -- Python强大的自省简析

    1. 什么是自省? 自省就是自我评价.自我反省.自我批评.自我调控和自我教育,是孔子提出的一种自我道德修养的方法.他说:“见贤思齐焉,见不贤而内自省也.”(<论语·里仁>)当然,我们今天不 ...

  5. python学习笔记(一):python简介和入门

    最近重新开始学习python,之前也自学过一段时间python,对python还算有点了解,本次重新认识python,也算当写一个小小的教程.一.什么是python?python是一种面向对象.解释型 ...

  6. python学习笔记之——python模块

    1.python模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python ...

  7. Python学习笔记 - day12 - Python操作NoSQL

    NoSQL(非关系型数据库) NoSQL,指的是非关系型的数据库.NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称.用于超大规模数据的存储.(例如 ...

  8. python 学习笔记一——Python安装和IDLE使用

    好吧,一直准备学点啥,前些日子也下好了一些python电子书,但之后又没影了.年龄大了,就是不爱学习了.那就现在开始吧. 安装python 3 Mac OS X会预装python 2,Linux的大多 ...

  9. python学习笔记(python简史)

    一.python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum) 目前python主要应用领域: ·云计算 ·WEB开发 ·科学运算.人工智能 ·系统运维 ·金融:量化交 ...

  10. python学习笔记(1)--python特点

    python诞生于复杂的信息系统时代,是计算机时代演进的一种选择. python的特点,通用语言,脚本语言,跨平台语言.这门语言可以用于普适的计算,不局限于某一类应用,通用性是它的最大特点.pytho ...

随机推荐

  1. Python-并发编程(协程)

    今天说说协程 一.引子 本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 cpu正在运行一个任务,会在两 ...

  2. mysql的一些sql用法

    mysql中修改列名: alter table 表名 change abc def 列类型;比如 alter table student change pws psw char(10);

  3. OpenLayers中的图层(转载)

    作者:田念明出处:http://www.cnblogs.com/nianming/本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法 ...

  4. OpenLayers介绍和第一个例子(转载)

    什么是OpenLayers? 作者:田念明出处:http://www.cnblogs.com/nianming/本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位 ...

  5. 简单理解C#中的抽象工厂模式是什么概念!

    抽象工厂模式向客户端提供一个接口,使得客户端在不必指定具体类型的情况下,创建多个产品族中的对象.本文采取的仍然是接着以前的那个快餐店的例子.现在,快餐店经常良好,逐渐发展壮大,为了适合不同地方人的饮食 ...

  6. 创建第一个windows服务

    windows服务应用程序是一种长期运行在操作系统后台的程序,它对于服务器环境特别适合,它没有用户界面,不会产生任何可视输出,任何用户输出都回被写进windows事件日志. 计算机启动时,服务会自动开 ...

  7. 密码存储中MD5的安全问题与替代方案

    md5安全吗?有多么地不安全?如何才能安全地存储密码?... md5安全吗? 经过各种安全事件后,很多系统在存放密码的时候不会直接存放明文密码了,大都改成了存放了 md5 加密(hash)后的密码,可 ...

  8. Canvas杂谈

    最近在看一些关于Canvas的知识...这篇文章主要是用来记录学习中遇见的一些问题...以及难以理解的一些东西.. 转帖请注明出处:http://www.cnblogs.com/Troy-Lv5/p/ ...

  9. Python初学者第十一天 文件处理_batch

    11day 文件的操作分为读.写.修改 1.读: f = open(file='D:\新建文本文档.txt',mode='r',encoding='gbk') data = f.read() prin ...

  10. php安装扩展redis淌过的坑

    php安装扩展redis淌过的坑 php扩展 redis cd /usr/local/src/ wget https://github.com/nicolasff/phpredis/archive/2 ...