Python 学习笔记(九)Python元组和字典(一)
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元组和字典(一)的更多相关文章
- Python学习笔记----列表、元组和字典的基础操作
文章目录 一.列表的基本操作 1.1 修改列表中的某个数据 1.2 获取某个元素的返回值(返回的是索引) 1.3 在列表中插入新的元素 1.4 删除列表中的元素 1.5 +和* 二.内置的函数和方法 ...
- python3.4学习笔记(九) Python GUI桌面应用开发工具选择
python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96 ...
- Python学习笔记九
Python学习笔记之九 为什么要有操作系统 管理硬件,提供接口. 管理调度进程,并且将多个进程对硬件的竞争变得有序. 操作系统发展史 第一代计算机:真空管和穿孔卡片 没有操作系统,所有的程序设计直接 ...
- python 学习笔记 9 -- Python强大的自省简析
1. 什么是自省? 自省就是自我评价.自我反省.自我批评.自我调控和自我教育,是孔子提出的一种自我道德修养的方法.他说:“见贤思齐焉,见不贤而内自省也.”(<论语·里仁>)当然,我们今天不 ...
- python学习笔记(一):python简介和入门
最近重新开始学习python,之前也自学过一段时间python,对python还算有点了解,本次重新认识python,也算当写一个小小的教程.一.什么是python?python是一种面向对象.解释型 ...
- python学习笔记之——python模块
1.python模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python ...
- Python学习笔记 - day12 - Python操作NoSQL
NoSQL(非关系型数据库) NoSQL,指的是非关系型的数据库.NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称.用于超大规模数据的存储.(例如 ...
- python 学习笔记一——Python安装和IDLE使用
好吧,一直准备学点啥,前些日子也下好了一些python电子书,但之后又没影了.年龄大了,就是不爱学习了.那就现在开始吧. 安装python 3 Mac OS X会预装python 2,Linux的大多 ...
- python学习笔记(python简史)
一.python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum) 目前python主要应用领域: ·云计算 ·WEB开发 ·科学运算.人工智能 ·系统运维 ·金融:量化交 ...
- python学习笔记(1)--python特点
python诞生于复杂的信息系统时代,是计算机时代演进的一种选择. python的特点,通用语言,脚本语言,跨平台语言.这门语言可以用于普适的计算,不局限于某一类应用,通用性是它的最大特点.pytho ...
随机推荐
- zookeeper学习实践1-实现分布式锁
引言 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提 ...
- csharp: using using System.Web.Script.Serialization read json
using System; using System.Data; using System.Configuration; using System.Collections; using System. ...
- js-JavaScript的简介
JavaScript的简介 * 是基于对象和事件驱动的语言,应用于客户端 - 基于对象: ** 提供好了很多对象,可以直接拿过来使用 - 事件驱动: ** HTML做网站静态效果,JavaScript ...
- Java全系列帮助文档下载
JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境.它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运 ...
- easyui汉化啊!
<script type="text/javascript" src="__PUBLIC__/jquery-easyui-1.4.4/locale/easyui-l ...
- vs2010开发activex(MFC)控件/ie插件(二):js传参数
原文:http://blog.csdn.net/yhhyhhyhhyhh/article/details/50802075 js传参数给activex控件. 过程为:js变量通过activex类的属 ...
- Postfix的工作原理
传统的Sendmail将所有功能都集中在同一个程序里,这种结构我们称之为“单体式设计”(monolithic).Postfix采用专职负责的策略,不同的功能分别交由不同的专门程序处理,这种结构称为“模 ...
- 面对IBM与亚马逊的犄角攻势,微软云如何招架?
亚马逊AWS和微软Azure是全球公有云的焦点.不就前公布的财报不久前公布的财报,这两家公司云计算的收入越来越接近,从数据显示来看,亚马逊的利润比微软稍高,有人称微软云的高增长来自于捆绑销售,背后真正 ...
- 关于派生类访问基类对象的保护变量的问题 --Coursera
https://class.coursera.org/pkupop-001/forum/thread?thread_id=350 郭天魁· 6 months ago 在课件中我们知道如下程序是不能 ...
- 关于map容器的元素被无参初始化
使用C++中的map容器定义一个mp,当你执行if语句判断mp[3]是否为1时,那么如果mp[3]以前不存在,此时mp[3]就会被无参初始化,second赋值为0. 以下的程序可以证明这一点.执行了第 ...