一、定义

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

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号中:

dic = {key:value,key1:value1}

键必须是唯一的,但值则不必,值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

tup = ("a","b")

dic = {"k":1,tup:3,"y":10}

二、访问字典里的值

根据键来查看值:

dic["k"] #输出值为1,如果所查的键并不存在,就会报错

三、更新字典

①根据键修改值

dic["k"] = 11 ##修改dic中键"k"所对应的值1为11

②添加新的元素(键值对)

dic["a"] = "22" #添加新的键值对 "a":22

四、删除字典元素

del dic["k"] #删除键值对"k":1

dic.clear() #删除字典所有元素

del dic #删除字典

五、字典键的特性

字典值可以是任何的Python对象,既可以是标准的对象,也可以是用户定义的,但是键不行。

①不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住:

dict = {'age':10,'name':"wang",'age':18}

print(dict['age'])  #会输入后边的一个值18

②键必须不可变,可以用数字、字符串或者元组,可变类型不能作为键,比如列表。

六、字典内置函数和方法

Python字典包含了以下内置函数:

序号

函数及描述

1

len(dict)

计算字典元素个数,既键的总数。

2

str(dict)

输出字典,以可打印的字符串表示。

Python字典包含了以下内置方法:

序号

函数及描述

1

clear()

删除字典内所有元素

2

copy()

返回一个字典的浅复制

3

formkeys()

创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

4

get(key,default = None)

返回指定键的值,如果值不在字典中返回default值

5

key in dict

如果键在字典dict里返回True,否则返回False

6

items()

以列表返回可遍历的(键,值)元组数组

7

keys()

以列表返回一个字典所有的键

8

setdefault(key,default = None)

和get()类似,但如果键不存在于字典中,将会添加键并将值设为default

9

update(dict2)

把字典dict2的键/值对更新到dict里

10

values()

以列表返回字典中的所有值

11

pop(key[,default])

删除字典给定键key所对应的值,返回值为被删除的值。key值必须给出,否则,

返回default

12

popitem()

随机返回并删除字典中的一对键和值(一般删除末尾对)。

最新文章

  1. Spring Shedule Task之注解实现 (两次启动Schedule Task 的解决方案)
  2. RockWare RockWorks的Ollydbg调试过程及注册机(破解)思路
  3. iOS6:在你的App内使用Passbook
  4. HDOJ-三部曲一(搜索、数学)-1010-Pots
  5. [转载]MVC3缓存:使用页面缓存
  6. Unity3D中使用KiiCloud总结一
  7. Java并发编程之闭锁简介
  8. Swing-JCheckBox用法-入门
  9. 《RabbitMQ Tutorial》译文 第 3 章 发布和订阅
  10. STL注意比较函数
  11. 基于Unity的AR开发初探:发布AR应用到Android平台
  12. Spring Boot 2.0 入门指南
  13. myEclipse中项目无法部署到tomcat
  14. JavaScript笔记 #06# Promise简单例子
  15. 【deep learning学习笔记】注释yusugomori的DA代码 --- dA.cpp -- 模型测试
  16. 使用mapreduce来分析网站的log日志
  17. POJ2356 Find a multiple 抽屉原理(鸽巢原理)
  18. npm的.npmrc文件在哪里?缓存及全局包文件在什么位置?
  19. bzoj1082
  20. lua的table的删除操作

热门文章

  1. Oracle9i之xmltype应用(1)
  2. PIE SDK存储格式转换
  3. PIE SDK大气校正
  4. Promise 多重链式调用
  5. 数据库nomount mount open阶段走向
  6. Windows 7安装PlayReady出现“任务被禁用”错误信息
  7. Column 'orders' in order clause is ambiguous
  8. Unity3D之OnGUI知识总结
  9. Linux利器strace
  10. JavaScript函数和数组总结