一、什么是字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key->value)对用(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如下

d = {key1 : value1 , key2 : value2}

键必须是唯一的,但值不必。

值可以取任何数据类型,但键必须是不可变的

二、访问字典里的值

info = {'name':'SQYY','sex':'man','age':''}
print "info['name']:",info['name']
print "info['age']:",info['age']

以上实例结果:

info['name']: SQYY
info['age']: 19

三、修改字典元素

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对

#coding=utf-8
info = {'name':'SQYY','sex':'man','age':''}
#修改一个字典
info['age'] = 20
#添加一个字典
info['address'] = "China"
print "info['age']:",info['age']
print "info['address']:",info['address']

以上实例结果:

info['age']: 20
info['address']: China

四、删除字典元素

1、del 删除整个字典

#coding=utf-8
info = {'name':'SQYY','sex':'man','age':''}
print '删除前',info
del info
print '删除后',info

以上实例结果:

  del后字典不存在,所以会显示报错

删除前 {'age': '', 'name': 'SQYY', 'sex': 'man'}
删除后 Traceback (most recent call last):
File "C:\Python27\test.py", line 5, in <module>
print '删除后',info
NameError: name 'info' is not defined

2、clear清空整个字典

#coding=utf-8
info = {'name':'SQYY','sex':'man','age':''}
print '删除前',info
info.clear()
print '删除后',info

以上显示结果

删除前 {'age': '', 'name': 'SQYY', 'sex': 'man'}
删除后 {}

五、字典包含的内置方法

序号 函数及描述
1 dict.clear()
删除字典内所有元素
2 dict.copy()
返回一个字典的浅复制
3 dict.fromkeys(seq[, val]))
创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
4 dict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值
5 dict.has_key(key)
如果键在字典dict里返回true,否则返回false
6 dict.items()
以列表返回可遍历的(键, 值) 元组数组
7 dict.keys()
以列表返回一个字典所有的键
8 dict.setdefault(key, default=None)

和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9 dict.update(dict2)
把字典dict2的键/值对更新到dict里
10 dict.values()
以列表返回字典中的所有值
11 pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。
否则,返回default值。
12 popitem()
随机返回并删除字典中的一对键和值。

  

#coding=utf-8
dict = {'name':'SQYY','age':''}
#字典中键值对的个数
print len(dict)
#返回一个包含字典所有KEY的列表
print dict.keys()
#返回字典所有的value的列表
print dict.values()
#返回一个包含(键,值)元祖的列表
print dict.items()
#如果key在字典中,返回True,否则返回False
print dict.has_key('name')

以上代码实例:

2
['age', 'name']
['', 'SQYY']
[('age', ''), ('name', 'SQYY')]
True

最新文章

  1. JAVA设计模式之3-抽象工厂模式
  2. 解读ASP.NET 5 &amp; MVC6系列
  3. IO-02. 整数四则运算(10)
  4. C# 协变out 、逆变 in
  5. Git撤销提交和修改相关操作
  6. cf 383 D
  7. 【LeetCode】9 &amp; 234 &amp; 206 - Palindrome Number &amp; Palindrome Linked List &amp; Reverse Linked List
  8. decode_json 必须是unicode形式的字符
  9. 转:Spine.JS+Rails重客户端Web应用技术选型思路:『风车』架构设计
  10. springBoot学习
  11. 关于MATLAB处理大数据坐标文件2017526
  12. ORACLE - 管理重做日志文件
  13. winfrom 图片裁剪 圆形头像
  14. IIS系统短文件名漏洞猜解过程
  15. 驰骋开源的asp.net工作流程引擎java工作流 2015 正文 驰骋工作流引擎ccflow6的功能列表
  16. vm12 安装ubuntu15.10详细图文教程 虚拟机安装ubuntu安装 ubuntu更新软件 ubuntu一直卡在下载语言怎么办?
  17. 自动调参库hyperopt+lightgbm 调参demo
  18. Java spring实现文件下载
  19. CentOS 7 服务端口表
  20. Python读取大文件的&quot;坑“与内存占用检测

热门文章

  1. Java-POJ1003-Hangover
  2. CompletableFuture--给future调用增加回调或聚合操作
  3. selenium自动化之加载浏览器配置文件
  4. mybatis 查询list,内容为null,但list的size 为1
  5. 阻塞队列BlockingQueue之ArrayBlockingQueue
  6. AC3 overview
  7. monkey工具使用(未完待续)
  8. centos7安装Nginx 配置及反向代理
  9. hdu 4289 dinic模板
  10. 如何使用 idea提交svn代码