Python 字典

python中的唯一映射类型

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

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

d = {key1 : value1, key2 : value2 }

键必须是唯一的,但值则不必     【即,可一对多】

 

创建字典

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

举例:

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

也可以:

dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };
空字典:
   dict3  =  {}
 
用工厂函数创建字典

输出:

 

 
 
用关键字参数创建字典
  #顺序会变化,aa bb不需要加引号,那样无法当作表达式

输出:

 

fromkeys() 函数创建一个新字典

 语法
dict.fromkeys(seq[, value])

参数
  • seq -- 字典键值列表。
  • value -- 可选参数, 设置键序列(seq)对应的值,默认为 None。

 

输出:

 

 
访问

输出:9102

 

修改字典

输出:

 

删除字典元素

输出:

 

字典键的特性

 

 

字典内置函数&方法

 函数
 

 

 方法

 

 另外:
#字典支持无限极嵌套的
如:
#调换 key和 value,注意原始 value 的类型,必须是不可变类型

#  .keys() 返回键的引用     .values() 返回值      .items() 返回整个项

 

输出:

 

返回的是 dict_xxx 对象,若需要转换为列表,请使用:

代码:

输出:

['name', 'age']
['jike', 18]
[('name', 'jike'), ('age', 18)]

 

# get()查找

 

输出:

None
no find
18

 

解释:

查找的是,不存在时返回None对象,没用print不会打印出来,不显示

也可以添加提示,返回None时输出该提示

 

 # 另外

清空字典

xx.clear() 或 xx = {}
但用后者时, a = b = {'x':1,'y':2}
令a = {}
但b != {}

 


copy()浅拷贝
赋值的话,只是多了个名字,浅拷贝后地址是不同的

 


xx.pop(2)
弹出键’2‘对应的值,该项也会被切去

 


xx.popitem()
随机弹一个项,该项会被切去

 


setdefault() 找值,没有会添加  (x,'ddd')

输出:

 

 


xx = {'..':'..'}
yy.update(xx) 利用一个字典关系xx去更新另一个字典yy

 

输出:

{'name': 'jike', 'age': 18}
{'name': 'jike', 'age': 18}

 

 
posted @ 2019-04-11 08:32  远征i  阅读(215)  评论(0编辑  收藏  举报