创建字典

>>> phonebook={'Alice':'2897','Alan':'0987','Jery':'6754'}

dict函数

>>> items=[('name','Gumby'),('age',42)]
>>> d=dict(items)
>>> d
{'age': 42, 'name': 'Gumby'}
>>> d['name']
'Gumby'
>>> d=dict(name='July',age=24)
>>> d
{'age': 24, 'name': 'July'}

基本的字典操作(大部分与序列类似)

  • len(d)返回d中项(键-值对)的数量
  • d[k]返回关联到键k上的值
  • d[k]=v将值v关联到k上
  • del d[k]删除键为k的项
  • k in d检查d中是否有含有键为k的项

格式化字符串

>>> phonebook
{'Jery': '6754', 'Alice': '2897', 'Alan': '0987'}
>>> "Alan's phone number is %(Alan)s." % phonebook
"Alan's phone number is 0987."

方法:

clear 清除字典中所有的项

>>> d={}
>>> d['name']='Gumby'
>>> d['age']=42
>>> d
{'age': 42, 'name': 'Gumby'}
>>> d.clear()
>>> d
{}>>> x={}
>>> y=x #x和y对应同一个字典
>>> x['key']='value'
>>> y
{'key': 'value'}
>>> x={} #x关联到新的空字典
>>> y
{'key': 'value'}>>> x={}
>>> y=x
>>> x['key']='value'
>>> y
{'key': 'value'}
>>> x.clear()
>>> y
{}

copy 返回一个具有相同键-值对的新字典(浅复制)

>>> x={'name':'admin','machines':['foo','bar','bax']}
>>> y=x.copy()
>>> y['name']='yhk' #替换值,原字典不受影响
>>> y['machines'].remove('bar') #修改了某个值(原地修改不是替换),原字典会改变
>>> y
{'name': 'yhk', 'machines': ['foo', 'bax']}
>>> x
{'name': 'admin', 'machines': ['foo', 'bax']}

deepcopy 深复制

>>> from copy import deepcopy
>>> d={}
>>> d['name']=['Aly','Bob']
>>> c=d.copy()
>>> e=deepcopy(d)
>>> d['name'].append('Ageal')
>>> c
{'name': ['Aly', 'Bob', 'Ageal']}
>>> e
{'name': ['Aly', 'Bob']}

fromkeys 使用给定的键建立新的字典,每个键默认的对应的值为none

>>> {}.fromkeys(['name','age'])
{'age': None, 'name': None}
>>> dict.fromkeys(['name','age'])
{'age': None, 'name': None}
>>> dict.fromkeys(['name','age'],'(unknown)')
{'age': '(unknown)', 'name': '(unknown)'}

get 访问字典项

>>> d={}
>>> print d['name']Traceback (most recent call last):File "<pyshell#60>", line 1, in <module>print d['name']
KeyError: 'name'
>>> print d.get('name')
None
>>> d.get('name','N/A')
'N/A'
>>> d['name']='Eric'
>>> d.get('name')
'Eric'

has_key 检查字典中是否有给出的键(python3.0没有这个函数)

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

items和iteritems

items将所有的字典项以列表方式返回,这些列表项中的每一项都来自于(键,值)

iteritems返回一个迭代器对象

>>> d={'title':'My Time!','url':'http://www,python.org','spam':0}
>>> d.items()
[('url', 'http://www,python.org'), ('spam', 0), ('title', 'My Time!')]
>>> s=d.iteritems()
>>> s
<dictionary-itemiterator object at 0x0000000003068728>
>>> list(s)
[('url', 'http://www,python.org'), ('spam', 0), ('title', 'My Time!')]

keys和iterkeys keys将字典中的键以列表形式返回 iterkeys返回针对键的迭代器

pop 移除

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

popitem 移除随机的项

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

setdefault 当键不存在时,返回默认值并更新相应字典

>>> d={}
>>> d.setdefault('name','N/A')
'N/A'
>>> d
{'name': 'N/A'}
>>> d['name']='Gumby'
>>> d.setdefault('name','N/A')
'Gumby'
>>> d
{'name': 'Gumby'}

update 利用一个字典项更新另外一个字典

>>> d={'x':1,'y':2,'z':3}
>>> f={'y':5}
>>> d.update(f)
>>> d
{'y': 5, 'x': 1, 'z': 3}

values和itervalues  alues返回字典中的值(itervalues返回值的迭代器)

>>> d={}
>>> d[1]=1
>>> d[2]=2
>>> d[3]=3
>>> d.values()
[1, 2, 3]

转载于:https://www.cnblogs.com/nsds/p/6437553.html

python中字典的几个方法介绍相关推荐

  1. python中字典类型中的item是什么-python中 字典类型内置方法

    python中 字典类型内置方法 一.字典(dict) ​ 1·. 存多个值,但是每一个值都有一个key与之对应.列如存在值有姓名:jiayi.年龄:18.身高:173 ​ 2.定义方式 ​ 在{}内 ...

  2. Python中字典取值常用的方法!

    字典是Python中比较常见的数据类型之一,它是一种可变容器模型,可以存储任意数量的任意类型的数据,而且字典中的每个元素由一个键和一个值组成,键和值之间用冒号分隔.本文为大家介绍一下Python中字典 ...

  3. [转载] python中字典中追加_python 中字典中的删除,pop 方法与 popitem 方法

    参考链接: Python字典popitem() 1.pop 方法:删除指定的键值对,最后返回的是删除键的值. 2.popitem 方法:每次删除字典中的最后一个键值对,返回这个删除的键值对. 3.cl ...

  4. [转载] python中字典copy_python深度复制字典,copy方法与deepcopy方法

    参考链接: Python字典copy() 简介 INTRODUCTION掌握python中字典数据的赋值处理,掌握指针到底在哪里?... 本篇文章创作主要是为了让小伙伴们掌握普通字典的赋值.字典的co ...

  5. python中字典的查询方法

    python中字典的查询方法包括: 1.直接用key查询,例如dict[key] 返回的就是这个key值对应的value值,如果没有这个key值,则会报错 2.用内置函数items() 返回的就是每一 ...

  6. python中字典和集合的区别_Python中字典和集合学习小结

    映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元组等 包含可变对象的列表. ...

  7. python中可以作为定界符_在 Python 中,字典和集合都是用一对 作为定界符,字典的每个元素有两部分组成,即 和 ,其中 不允许重复。_学小易找答案...

    [多选题]路由器A的G0/0/1接口配置信息如下,下列说法正确的有?(多选) acl number 3000 rule 5 deny 17 rule 10 deny 89 rule 15 deny 6 ...

  8. python中字典使用_python中字典的使用

    python中的字典的特性: 在字典中的元素是散列存放的,没有顺序, 在进行增删改查的时候使用字典中需要的关键字(key)即可. 一: 创建字典 1)直接定义一个: dict = {'ob1':'co ...

  9. python循环展示大写字母_python调用大写函数python中字典的循环遍历的两种方式

    开发中经常会用到对于字典.列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式. 注意: python2和python ...

  10. python中字典列表元组_Python中的列表和元组

    python中字典列表元组 Lists and tuples are arguably Python's most versatile, useful data types. You will fin ...

最新文章

  1. servlet和webservice+WEBservice 的本质。
  2. Spring Session Redis——自定义JSON序列化解决方案
  3. Scala中的延迟初始化(Lazy vals)
  4. [蓝桥杯][算法提高VIP]质数的后代-质数筛
  5. HDU1166-敌兵布阵
  6. 如何用 Python 拆分表格并发送邮件?
  7. div默认外边距是多少_CSS盒模型之内边距、边框、外边距 十九问(持续更新)...
  8. 20-21-2网络管理quiz3
  9. 树莓派(RespberryPi)安装手记
  10. java计数器占位符_深入理解Java虚拟机- 学习笔记 - Java内存区域
  11. tomcat的comet事件解释
  12. MySQL(13)-----多表查询(子查询)
  13. Python图像灰度化处理
  14. Alexa查询名词解释
  15. 50.网络安全渗透测试—[穷举篇13]—[wfuzz多线程百万密码测试指定后台破解]
  16. Hexo个人免费博客(二) 创建主界面分页签和新博客
  17. Android进阶之路——Flurry的使用
  18. 在校大学生/老师如何申请注册一家公司
  19. clickhouse列转行
  20. 华为路由器显示连接到服务器失败怎么办,华为路由WS5200可以搜到wifi但无法连接怎么办...

热门文章

  1. 谈谈文吹与武吹的差异
  2. 超过千字的文章,才统计勤写标兵
  3. 遇到问题就请外援,汝作为高手的价值在哪里
  4. WINDOWS补丁不装更好
  5. 门描述符gate descriptors
  6. STL的string
  7. led led c语言程序设计,单片机C语言程序设计:8X8LED 点阵显示数字
  8. C++中对sprintf()
  9. windows 核心编程下的内存映射文件
  10. gcc详解以及静态,动态库的生成 1