映射:键值对的关系,键(key)映射值(value)

字典是Python唯一的映射类型

>>> phonebook = {'wakey':'','Ethon':'','joho':''}
>>> phonebook
{'joho': '', 'wakey': '', 'Ethon': ''}

扩展:映射类型与序列类型的区别

1、访问方式不同,序列类型用数字类型的键,而映射类型可以用其他对象类型做键(一般式字符串)

>>> lis = ['a','b','c']
>>> lis[2]
'c'
>>> dic = {'name':'a','father':'b','mother':'c'}
>>> dic['mother']
'c'

2、存储类型不同,映射类型的键,直接或间接地与值相关。

3、序列类型,有序之列,可以通过下标引用元素;映射类型则无序之列,不能通过下标引用元素。

字典:

1、dict 函数

>>> items = [('name','gumby'),('age',42)]  # 通过其它映射或键值对建立字典
>>> d = dict(items)
>>> d
{'age': 42, 'name': 'gumby'}
>>>
>>> d = dict(name='Ethon',age=42) # 通过关键字参数建立字典
>>> d
{'age': 42, 'name': 'Ethon'}

2、字典特点:

1)键可以是任何不可变类型(字典最强大的地方)

2)字典中的键可能自动添加

>>> x = {}     # 空字典
>>> x[2]='Ethon'
>>> x
{2: 'Ethon'}

3、字典方法

dict.clear()   删除字典中所有元素

>>> x = {'name':'wakey','age':22}
>>> x.clear()
>>> x
{}

dict.copy()   返回一个具有相同键值对的新字典

>>> x = {'name':'wakey','age':22}
>>> y = x.copy()
>>> y['name']='Ethon'
>>> y
{'age': 22, 'name': 'Ethon'}
>>> x
{'age': 22, 'name': 'wakey'}

dict.formkeys()   用给定的键创建新的字典

>>> {}.fromkeys(['name','age'])
{'age': None, 'name': None} # None 作为默认值

dict.get(key,default=None)   返回对应键值

>>> d = {}
>>> print d.get('name')
None # get访问一个不存在的键时,可以得到None值

dict.has_key()   检查键是否存在

>>> d = {}
>>> d.has_key('name')
False
>>> d['name']='Ethon'
>>> d.has_key('name')
True

dict.items()   将所有的字典项以列表的方式返回,项在返回时没有特定的顺序。

>>> d = {'title':'python web site','url':'http://www.python.com'}
>>> d.items()
[('url', 'http://www.python.com'), ('title', 'python web site')]

dict.keys()   键的列表dict.values():值的列表

dict.pop()    获得对应于给定键的值,然后将这个键-值对从字典中移除

>>> d = {'x':1,'y':2}
>>> d.pop('x')
1
>>> d
{'y': 2}

dict.popitem()   弹出列表最后的一个元素(随机弹出),若想一个一个的移除并处理项,这个方法很有用了。

>>> d = {'title':'python','url':'www.python,com'}
>>> d.popitem()
('url', 'www.python,com')
>>> d
{'title': 'python'}

dict.update()   利用一个字典项更新另外一个字典

>>> d = {'title':'python','url':'www.python,com'}
>>> x = {'title':'python language website'}
>>> d.update(x)
>>> d
{'url': 'www.python,com', 'title': 'python language website'}

python学习笔记6(字典)的更多相关文章

  1. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  2. Python学习笔记之字典

    一.创建和使用字典 1.创建字典 phonebook={'Alice':'2341','Beth':'9102','Cecil':'3258'} 2.dict,通过映射创建字典 >>> ...

  3. 【Python学习笔记】字典操作

    字典dict是Python中唯一内置的映射类型,由键值对组成,字典是无序的.字典的键必须是不变对象,如字符串.数字.元组等,而包含可变对象的列表.字典和元组则不能作为键.这里可变和不可变的意思是指这个 ...

  4. Python学习笔记四--字典与集合

    字典是Python中唯一的映射类型.所谓映射即指该数据类型包含哈希值(key)和与之对应的值(value)的序列.字典是可变类型.字典中的数据是无序排列的. 4.1.1字典的创建及赋值 dict1={ ...

  5. python学习笔记八——字典的方法

    4.3.3 字典的方法 字典的常用方法可以极大地提高编程效率.keys()和values()分别返回字典的key列表和value列表.例: dict={"a":"appl ...

  6. python学习笔记七——字典

    4.3 字典结构 字典是Python中重要的数据类型,字典的由“键-值”对组成的集合,字典中的“值”通过“键”来引用. 4.3.1 字典的创建 字典由一系列的“键-值”(key-value)对组成,“ ...

  7. python学习笔记(字典乱码)

    博主总结下 python中字典中包含中文时,使用过程中出现乱码 json.dumps(params, encoding="UTF-8", ensure_ascii=False) p ...

  8. Python学习笔记3(字典)

    创建字典 dict函数 字典的格式化字符串 字典方法 clear copy fromkeys 序列是一个按照一定顺序将值进行组织的数据结构形式,可以通过索引对其进行征引.另外还有一种数据结构是通过名字 ...

  9. python学习笔记(6)——字典(Dictionary)

    dict= {key1 : value1, key2 : value2 ...} 关键词:字典中元素成对出现- key:value 格式- 两端{ } ,键:值,每对键值间用 ,隔开. 键key-唯一 ...

  10. python学习笔记(三)---字典

    字典 在Python中,字典 字典 是一系列键 键-值对 值对 .每个键 键 都与一个值相关联,你可以使用键来访问与之相关联的值.与键相关联的值可以是数字.字符串.列表乃至字典.事实上,可将 任何Py ...

随机推荐

  1. poj 2724 二分图最大匹配

    题意: 会给出M个串,我们要做的就是将这M个串给清除了.对于任意两个串,若二进制形式只有一位不一样,那么这两个串可以在一次操作消除,否则每个操作只能消除一个串. 3 3 *01 100 011 可以代 ...

  2. Android 给应用定制皮肤

    Android 给应用定制皮肤 导读:皮肤也就是相关的资源文件单独放置在某个工程中,一种皮肤一个工程文件.一个工程包括N多的资源文件,多个工程间资源的关系是,文件名,资源ID等完全一样. 在实现程序功 ...

  3. Netbackup备份失败:ORA-19506 ORA-27028 ORA-19511

    Netbackup之前备份RAC数据一直都非常正常,突然这几天出现异常: channel ch00: starting piece 1 at 2013-11-24:18:02:32released c ...

  4. 关于css雪碧图sprite

    天气转凉了,又开始贪恋暖暖的被窝了. 早上不想起床的时候在被窝里看了有关于雪碧图的视频. 1.使用场景 V导航条,登录框img标签多次载入,性能低 X大图banner按需加载,如果做成雪碧图一次加载就 ...

  5. Ajax中解析Json的两种方法详解

    eval();  //此方法不推荐 JSON.parse();  //推荐方法 一.两种方法的区别 我们先初始化一个json格式的对象: var jsonDate = '{ "name&qu ...

  6. 新年第一次分享sqlserver技术

    走向DBA[MSSQL篇] - 从SQL语句的角度提高数据库的访问性能 最近公司来一个非常虎的DBA,10几年的经验,这里就称之为蔡老师吧,在征得我们蔡老同意的前提下 ,我们来分享一下蔡老给我们带来的 ...

  7. windows API 核心编程学习心得

    一.错误处理 在内部,当windows函数检测到错误时,它会使用“线程本地存储区”的机制将相应的错误代码与“主调线程”关联到一起. winError.h 一般在C:\Program Files\Mic ...

  8. C#中实现抽象类里建立静态方法

    这篇文章主要介绍了C#中实现抽象类里建立静态方法,需要的朋友可以参考下   本文简述了C#中实现抽象类里建立静态方法的解决办法,示例程序如下: 1 2 3 4 5 6 public class Tes ...

  9. JSTL截取字符串

    引入头文件支持<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> &l ...

  10. 抓取dump

    1,在程序奔溃前部署.adplus.exe -crash -pn explorer.exe -o d: -crash:当进程挂掉的时候抓取dump,只能抓取到进程报错时的信息,如果进程不报错,就无法抓 ...