python 内置类型数据 有dictionary(字典)、list(列表)和tuple(元组)
一、Dictionary
Dictionary 是 Python 的内置数据类型之一,它定义了键和值之间一对一的关系。
>>> d = {"server":"mpilgrim", "datab ase":"master"} (1)
>>> d
{'server': 'mpilgrim', 'database': 'master'}
>>> d["server"] (2)
'mpilgrim'
>>> d["database" ] (3)
'master'
>>> d["mpilgrim"] (4)
Traceback (innermost last) :
File "<i nteract ive input>", line 1, in ?
KeyError: mpilgrim
上面可以看出dictionary 的属性。他有一个“key”值, 也就是像“server”“database”一样的,指向一定的内容。
修改:
>>> d
{'server': 'mpilgrim', 'database': 'master'}
>>> d["database" ] = "pubs" (1)
>>> d
{'server': 'mpilgrim', 'database': 'pubs' }
>>> d["uid"] = "sa" (2)
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'datab ase': 'pubs'}
可以看到,修改“key”值,就修改相应的内容
删除:
>>> del d[42]
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'datab ase': 'mast er', 'retrycoun t': 3}
>>> d.clear( )
>>> d
{}
删除是del, 删除中的一个独立的元素。 如果直接是 d.clear, 则直接清空。
二、list
>>> li = ["a", "b", "mp ilgrim", "z", "example"]
>>> li
['a', 'b', 'mpilgrim', 'z', ' example']
>>> li[0]
'a'
>>> li[4]
'exampl e'
和dictionary(字典)类似, list(列表)直接是存储元素。没有“key”值
负的 list索引
>>> li
['a', 'b', 'mpilgrim', 'z', 'examp le']
>>> li[-1]
'exampl e'
>>> li[-3]
'mpilgrim'
可以看到“-1”指向的是最后一个元素。而 倒叙排列。
分片:
>>> li
['a', 'b', 'mpilgrim', 'z', ' example']
>>> li[1:3]
['b', 'mpilgrim']
>>> li[1:-1]
['b', 'mpilgrim', 'z']
>>> li[0:3]
['a', 'b', 'mpilgrim']
相当于是设定一个段,然后把这段数据都打印出来。
增加、扩展、追加
>>> li
['a', 'b', 'mpilgrim', 'z', ' example']
>>> li.append("new")
>>> li
['a', 'b', 'mpilgrim', 'z', ' example', 'new']
>>> li.insert(2, "new")
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'e xample', 'new']
>>> li.extend(["two" , "elements"])
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'e xample', 'new', 'two', ' elements']
增加:append增加到最后,insert 是插入到相应的位置后面, extend是扩展到最后。
其中append 和extend的效果是不一样的。 增加是增加一个元素,后面的增加都在这个元素里面,相当于新挂了一个list1 到li下面。
而extend 是增加了一个元素。所以是扩展了list
搜索:
搜索和dictionary类似。
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'e xample', 'new', 'two', ' elements']
>>> li.index("exampl e") (1)
5
>>> li.index("new") (2)
2
删除:
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'examp le', 'new', 'two', 'e lements']
>>> li.remove("z")
>>> li
['a', 'b', 'new', 'mpilgrim', 'exampl e', 'new', 'two', 'e lements']
>>> li.remove("new")
>>> li
['a', 'b', 'mpilgrim', 'examp le', 'new', 'two', 'e lements']
>>> li.remove("c")
Traceback (innermost last) :
File "<i nteract ive input>", line 1, in ?
ValueError: list.remove(x): x not in list
>>> li.pop( )
'elements'
>>> li
['a', 'b', 'mpilgrim', 'examp le', 'new', 'two']
>>> li.pop( 2 ) 'mpilgrim'
删除可以用 remover 和 pop, remover删除相应的元素, 而pop是把相应的元素拿出来,并返回改元素的值。
list运算符:
>>> li = ['a', 'b', 'mpilgrim']
>>> li =li + ['example', 'new']
>>> li
['a', 'b', 'mpilgrim', 'example', 'new']
>>> li += ['two']
>>> li
['a', 'b', 'mpilgrim', 'examp le', 'new', 'two']
>>> li = [1, 2] * 3 (3)
>>> li
[1, 2, 1, 2, 1, 2]
* 运算符可以作为一个重复器作用于 list。li = [1, 2] *3 等同于 li = [1, 2] + [1,2] + [1, 2],即将三个 list 连接成一个。
三、 tuple(元组)
Tuple 是不可变的 list。一旦创建了一个 tuple,就不能以任何方式改变它
>>> t =("a", "b", "mpilgrim", "z", "example")
>>> t
('a', 'b', 'mpilgrim', 'z', 'e xample')
>>> t[0]
'a'
>>> t[-1]
'exampl e'
>>> t[1:3]
('b', 'mpilgrim')
tuple是特殊的list。。。tuple只能定义,不能添加、修改、删除。可以测试元素是否在里面。
>>> t
('a', 'b', 'mpilgrim', 'z', 'e xample')
>>> t.app end("new")
Traceback (innermost last) :
File "<i nteract ive input>", line 1, in ?
AttributeError: 'tuple' object hasnoattribute 'append'
>>> t.remove("z")
Traceback (innermost last) :
File "<i nteract ive input>", line 1, in ?
AttributeError: 'tuple' object hasnoattribute 'remove'
>>> t.index("example")
Traceback (innermost last) :
File "<i nteract ive input>", line 1, in ?
AttributeError: 'tuple' object hasnoattribute 'index'
>>> "z"i nt
True
python学习之 dictionary 、list、tuple操作的更多相关文章
-
python学习笔记(二)、字符串操作
该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.字符串基本操作 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于 ...
-
《转》Python学习(15)-对文件的操作(二)
转自 http://www.cnblogs.com/BeginMan/p/3169020.html 一.文件系统 从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件存储并对存入的文件进 ...
-
Python 学习之list和Tuple类型
1.创建list L = ['Adam', 95.5, 'Lisa', 85, 'Bart', 59] print(L) print(L[1],L[3],L[5])#索引 不能越界 正向访问 #95. ...
-
python学习二,字符串常用操作
字符串可以说是在日常开发中应用最广泛的了,现在来总结下有关python中有关字符串一些常用操作 首先我们声明一个字符串变量 str = "hello world" 下面我们来依次介 ...
-
记录我的 python 学习历程-Day08 文件的操作
文件操作的初识 用 python 代码对文件进行各种操作. 基本构成: 文件路径:path 打开方式:读.写.追加.读写.写读-- 编码方式:utf-8 / gbk / gb2312-- f = op ...
-
Python学习记录6-list、tuple、dict、set复习
数据类型在一门语言中是非常重要的,所以选择再次学习一下加深记忆.本次主要参考了大神廖雪峰的官方网站,非常感谢大神,讲的很清晰,收获很大. 标准数据类型 Number(数字) String(字符串) L ...
-
python学习中,list/tuple/dict格式化遇到的问题
昨天上了python培训的第一课,学习了基础知识.包括类型和赋值,函数type(),dir(),id(),help()的使用,list/tuple/dict的定义以及内置函数的操作,函数的定义,控制语 ...
-
Python学习笔记5-元组Tuple
tuple和list非常类似,但是tuple一旦初始化就不能修改,它也没有append(),insert()这样的方法.其他获取元素的方法和list是一样的 元组是用圆括号括起来的,其中的元素之间用逗 ...
-
[Python] 学习笔记之MySQL数据库操作
1 Python标准数据库接口DB-API介绍 Python标准数据库接口为 Python DB-API,它为开发人员提供了数据库应用编程接口.Python DB-API支持很多种的数据库,你可以选择 ...
随机推荐
-
ArcGIS影像配准与空间配准
ArcGIS影像配准与空间配准 ArcGIS影像配准与空间配准 地图配准可分为影像配准和空间配准.影像配准的对象是raster图,譬如TIFF图.配准后的图可以保存为ESRI GRID, TIFF,或 ...
-
如何在Eclipse中添加Tomcat的jar包
原文:如何在Eclipse中添加Tomcat的jar包 右键项目工程,点击Java Build Path 点击Add Library,选择Server Runtime 选择Tomcat版本 此时就看到 ...
-
HDU 4923
题目大意: 给出一串序列Ai{0,1},求一个序列Bi[0,1](Bi<Bi+1),使得sigama(Ai-Bi)^2最小 思路: 若B相同,则取A的平均数可使方差最小 若B有序, 若A== ...
-
从零开始学android开发-项目debug
在红框处能看到变量值
-
TCP连接状态详解及TIME_WAIT过多的解决方法
上图对排除和定位网络或系统故障时大有帮助,但是怎样牢牢地将这张图刻在脑中呢?那么你就一定要对这张图的每一个状态,及转换的过程有深刻地认识,不能只停留在一知半解之中.下面对这张图的11种状态详细解释一下 ...
-
MarkDown 例子
一个例子: 例子开始 1. 本章学习总结 今天主要学习了三个知识点 封装 继承 多态 2. 书面作业 Q1. java HelloWorld命令中,HelloWorld这个参数是什么含义? 今天学了一 ...
-
PL/SQL 三个小例子
/* SQL语句 员工集合:select to_char(hiredate,'yyyy') from emp --> 光标 --> 循环--> 退出条件:notfound 变量 co ...
-
新版MATERIAL DESIGN 官方动效指南(一)
Google 刚发布了新版Material Design 官方动效指南,全文包括三个部分:为什么说动效很重要?如何制作优秀的Material Design动效及转场动画,动效的意义.新鲜热辣收好不谢! ...
-
如何启动iis(Internet 信息服务(IIS)管理器)
Internet 信息服务(IIS)管理器 启动 IIS 管理器1.从“开始”菜单,指向“管理工具”,然后单击“Internet 信息服务 (IIS) 管理器”. 从“运行”对话框启动 IIS 管理器 ...
-
使用Apache Kylin搭建企业级开源大数据分析平台
转:http://www.thebigdata.cn/JieJueFangAn/30143.html 我先做一个简单介绍我叫史少锋,我曾经在IBM.eBay做过大数据.云架构的开发,现在是Kylige ...