一、创建和使用字典

1、创建字典

phonebook={'Alice':'2341','Beth':'9102','Cecil':'3258'}

2、dict,通过映射创建字典

>>> items=[('name','Gumby'),('age',34)]

>>> d=dict(items)

>>> d

显示:{'name':'Gumby','age':'34'}

dict,通过关键字创建字典

>>> d=dict(name='Gumby',age=34)

>>> d

显示:{'name':'Gumby','age':'34'}

3、字典格式化字符串

>>> phonebook{'Beth':'9102','Alice':'2334','Cecil','3258'}

>>> "Cecil's phone number is %(Cecil)s." % phonebook

显示:"Cecil's phone number is 3258"

4、clear,清除字典中的全部项

5、copy,返回一个具有相同键-值对的新字典,这个方法实现的是浅复制

>>>x={'username':'admin','machines':['foo','bar','baz']}

>>>y=x.copy()

>>>y['username']='mlh'

>>>y['machines'].remove('bar')

>>>y

显示:{'username':'mlh','machines':['foo','baz']}

>>>x

显示:{'username':'admin','machines':['foo','baz']}

注意两个结果的区别:在副本y中替换username的值不会改变x中的值,但是修改副本y中的machines的值,则会改变x中的值

deepcopy,深度复制,可以解决上面的问题

>>> from copy import deepcopy

>>> d={}

>>> d['names']=['Alfred','Bertrand']

>>> c=d.copy()

>>> dc=deepcopy(d)

>>> d['names'].append('Clive')

>>> c

显示:{'names':['Alfred','Bertrand','Clive']}

>>> dc

显示:{'names':['Alfred','Bertrand']}

6、fromkeys,使用给定的键建立新的字典

>>> {}.fromkeys(['name','age'])

显示:{'name':None,'age':None}

采用dict的方法创建字典

>>> dict.fromkeys(['name','age'],'(123)') #默认值是可选的

显示:{'name':'123','age':'123'}

7、get,用来访问字典项

>>> d={}

>>> print(d['name']) #此时会报错,说name键不存在

>>>print(d.get('name')) #此时不会报错,输出None

>>> print(d.get('name','N/A')) #还可以指定默认值

8、has_key,检查字典中是否含有指定的键,在V2.6之后,V3.0之前有用,

>>> d={}

>>> d.has_key('name')

显示: False

从V3.0开始,采用in的方式判断

>>> 'name' in d

显示:False

9、items,返回一个迭代器对象

>>> d={'title':'Python Web Site','url':'http://www.python.org','spam':0}

>>> d.items()

显示:dict_items([('url','http://www.python.org'),('title','Python Web Site'),('spam',0)])

10、pop,将指定的键-值对从字典中删除

>>> d={'x':1,'y':2}

>>> d.pop('x')

显示:1

>>> d

显示:{'y':2}

11、popitem,弹出随机项

12、setdefault,在某种程度上类似于get,并且还能在字典中不含有给定键的情况下设定相应的键值

>>> d={}

>>> d.setdefault('name','N/A')

显示:'N/A'

>>> d

显示:{'name','N/A'}

>>> d['name']='Gumby'

>>> d.setdefault('name','N/A')

显示:'Gumby'

>>> d

显示:{'name':'Gumby'}

13、update,可以利用一个字典更新另一字典

>>> d={

  'title':'Python Web Site',

  'url':'http://www.python.org',

  'changed':'Mar 14 22:09:15 MET 2008'

}

>>> x={'title':'Python Language WebSite'}

>>> d.update(x)

>>> d

显示:

{

  'title':'Python Language Website',

  'url':'http://www.python.org',

  'changed':'Mar 14 22:09:15 MET 2008'

}

14、Values,返回值的迭代器

>>> d={}

>>> d[1]=1

>>> d[2]=2

>>> d[3]=3

>>> d[4]=1

>>> d.values()

显示:dict_values([1,2,3,1])

Python学习笔记之字典的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. ToolTipController 事件触发显示时 避免闪烁的处理方法

    private DevExpress.Utils.ToolTipController toolTipController1; private DevExpress.Utils.ToolTipContr ...

  2. Base:-用数组赋值实现while和shift功能

    3列数组,arrayA,arrayB,arrayC:分别一一对应主机及其主机所能创建的资源数,还有arrayC表示需要创建的资源数:arrayA=("192.168.1.1" &q ...

  3. Mac OSX上的软件包管理工具,brew 即 Homebrew

    brew 即 Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便. brew类似ubuntu系统下的apt-get的功能. 安装 ...

  4. Linux下安装GO语言环境

    在/root/downloads/下 wget -c https://storage.googleapis.com/golang/go1.7.1.linux-amd64.tar.gz 解压文件至/us ...

  5. 自适应css 框架 PURE

    Bootstrap 好用 但是太大啦 有时候只需要用到媒体查询这一块的样式 Pure.css可以很好地替代 直接上地址咯: http://purecss.io/ https://unpkg.com/p ...

  6. 05 技术内幕 T-SQL 查询读书笔记(第四章)

    第四章 子查询:在外部查询内嵌套的内部查询(按照期望值的数量分为,标量子查询 scalar subqueries,多值子查询multivalued subqueries)(按照子查询对外部查询的依赖性 ...

  7. oracle,mysql,SqlServer三种数据库的分页查询的实例。

    MySql: MySQL数据库实现分页比较简单,提供了 LIMIT函数.一般只需要直接写到sql语句后面就行了.LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数,如 ...

  8. android studio 控制台中文乱码

    解决办法,在java工程目录下的build.gradle添加如下代码,然后重新运行一遍. tasks.withType(JavaCompile) { options.encoding = " ...

  9. Javascript学习笔记:闭包题解(2)

    代码: var name='The Window'; var object={ name:'My Object', getNameFunc:function(){ return function(){ ...

  10. React组件库

    图表组件库:Recharts(React和D3构建的图表库) UI组件库:react-bootstrap