创建字典

phonebook = {'Alice': '', 'Beth': '', 'Cecil': ''}

以 value :key  键值对的格式。冒号前是键,冒号后时值 ,组合在一起是一项。多个项放在一个花括号内。

函数dict()用来把其他项创建成一个字段

>>> item = [('name', 'tom'), ('age', 17)]
>>> d=dict(item)
>>> d
{'name': 'tom', 'age': 17}

或者

>>> d = dict(name='tom', age=17)
>>> d
{'name': 'tom', 'age': 17}

len() 返回字段包含项的个数

>>> len(d)
2

通过字典的键访问值

>>> d['name']
'tom'

修改或增加一个项

>>> d['age']=18
>>> d
{'name': 'tom', 'age': 18}
>>> d['a']=33
>>> d
{'name': 'tom', 'age': 18, 'a': 33}

删除一项

>>> del d['a']
>>> d
{'name': 'tom', 'age': 18}

检查字段是否有此键

>>> 'age' in d
True

字典方法

1.clear() 删除所有项

2.copy() 返回一个新字典

y=x.copy()

修改值原字典不会受影响,替换值原字典会受到影响。

遇到替换问题可以用深复制的方法--暂时不想了解

3.fromkeys()

创建一个新字典,每个键对应的值为None。

>>> dd={}.fromkeys(['name','age'])
>>> dd
{'name': None, 'age': None}

如果不行默认None

>>> xx={}.fromkeys(['name','age'],'abc')
>>> xx
{'name': 'abc', 'age': 'abc'}

4.get

get和键访问一样。但是键访问没有的键会引发异常。get访问没有得键会返回None

>>> xx['a']
Traceback (most recent call last):
File "<pyshell#78>", line 1, in <module>
xx['a']
KeyError: 'a'
>>> xx.get('name')
'abc'
>>> xx.get('a')
>>>
>>>

5.items

返回一个字典视图

>>> d
{'y': , 'z': , 'a': }
>>> d.items()
dict_items([('y', ), ('z', ), ('a', )])

6.keys

返回一个只包含键的字典视图。值无重复

>>> d
{'y': , 'z': }
>>> d.keys()
dict_keys(['y', 'z'])

7.pop

方法pop可用于获取与指定键相关联的值,并将该键-值对从字典中删除

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

8.popitem

随机弹出一项,并返回弹出项

>>> d
{'y': , 'z': , 'a': , 'b': }
>>> d.popitem()
('b', )
>>> d
{'y': , 'z': , 'a': }

9.setdefault

如果setdefault 参数对应的键在字典里无此键,则在字典添加这个键值。如果字典里有此键,则不更新

>>> d
{'y': , 'z': , 'a': }
>>> d.setdefault('b',) >>> d
{'y': , 'z': , 'a': , 'b': }
>>> d['b']=
>>> d
{'y': , 'z': , 'a': , 'b': }
>>> d.setdefault('b',) >>> d
{'y': , 'z': , 'a': , 'b': }

10.update

使用字典项来更新字典,没有的项会新增

>>> d
{'y': , 'z': , 'a': }
>>> x={'a':,'b':}
>>> d.update(x)
>>> d
{'y': , 'z': , 'a': , 'b': }
>>>

11.values

返回一个只包含值的字典视图。值有可能重复

>>> d
{'y': , 'z': , 'a': }
>>> d.values()
dict_values([, , ])
>>>

最新文章

  1. AVFoundation播放视频时显示字幕,切换音轨
  2. 使用getopt_long来解析参数的小函数模板
  3. [poj2492]A Bug&#39;s Life(并查集+补集)
  4. 64位计算机安装setuptool
  5. JS阻止链接跳转代码
  6. Jenkins 搭建U3D自动发布 IOS
  7. Instance Variables in ruby
  8. JS tab切换事件
  9. (转)[SQL Server] 动态sql给变量赋值(或返回值给变量)
  10. jsoi2015 R2——滚粗记
  11. C语言关键字 - 铁布衫:const 转载
  12. HDU 1230 火星A+B
  13. rfc的资料
  14. javascript中的继承用法
  15. 玩转指针(Playing with Pointers)
  16. Notification (通知)的 新版和旧版用法
  17. Flink资料(4) -- 类型抽取和序列化
  18. ElasticSearch 学习记录之ES查询添加排序字段和使用missing或existing字段查询
  19. php 基于tcpdf插件生成pdf
  20. JavaScript 系列博客(六)

热门文章

  1. input属性 disabled与readonly的区别
  2. [LG1886]滑动窗口 单调队列
  3. STM32 启动代码 bootloader
  4. ansible 部署jdk
  5. Sencha touch中Ext.List的使用及高度自适应
  6. JQuery如何监听DIV内容变化
  7. Ubuntu gnome 16.04下的一些个人配置
  8. Jquery Ajax异步上传
  9. bzoj4886 [Lydsy2017年5月月赛]叠塔游戏
  10. 【洛谷 P4289】[HAOI2008]移动玩具(搜索)