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 ...
随机推荐
- git日常使用
git强制回滚指定版本git reset --hard xxx(版本名) git强制推送git push -f remote(远程地址) branch(远程分支) 查看远程分支 git branch ...
- openlayers跨域设置后出现http status 500错误
最近需要弄一下地理信息系统,用到openlayers和geoserver.在解决跨域的时候出现如下问题.求解决方案啊. 问题如下: 附:已经安装了python27,环境变量path中也添加了:c:\P ...
- How to install the NVIDIA drivers on Ubuntu 18.04 Bionic Beaver Linux
Objective The objective is to install the NVIDIA drivers on Ubuntu 18.04 Bionic Beaver Linux. This a ...
- android快速启动动画
http://blog.csdn.net/robert_cysy/article/details/72824513 https://www.cnblogs.com/404map/p/4981099.h ...
- nginx 应用包编译及常用文件配置
1.zlib wget http://www.zlib.net/fossils/zlib-1.2.8.tar.gz 2.openssl wget http://www.openssl.org/sour ...
- centos系统移植
今天将一个服务器上面的硬盘拆掉放到安装到另外一个服务器上面,硬盘里已经安装系统为centos6.0. 服务器 为dell的1850,好吧,在今天我还有幸搞这种“屎”前的服务器还是很幸运的! 硬盘换了之 ...
- redis集群搭建与管理
集群简介: Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation). Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行这些命令 ...
- 旋转动画用控件RotateView
旋转动画用控件RotateView 最终效果: 源码: RotateView.h 与 RotateView.m // // RotateView.h // RotateAnimationView // ...
- assert 的使用
一直以来没分清什么时候该使用assert,什么时候该使用if.现在将其记录下来 assert 用于检查参数的合法性以及某个预期的结果等,assert只在debug模式中在在.assert是面向程序员的 ...
- yii2.0表单自带验证码
Yii2.0的自带的验证依赖于GD2或者ImageMagick扩展. 使用步骤如下: 第一步,控制器: 在任意controller里面重写方法