Python基础 - 字典

目录

1、字典的格式

2、创建字典

3、遍历访问字典中的值

4、检查字典中是否有某个键

5、更新字典数据

6、删除字典元素

7、字典的比较算法

8、合并字典


1、字典的格式

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

d = {key1 : value1, key2 : value2 }

2、创建字典

dict()工厂函数被用来创建字典。如果不提供参数,会生成空字典。

d = dict(x=1,y=2)          输出:{'x': 1, 'y': 2}

d = dict([['x', 1], ['y', 2]])     输出:{'x': 1, 'y': 2}

d = dict(zip(('x', 'y'), (1, 2)))     输出:{'x': 1, 'y': 2} 

3、遍历访问字典中的值

d = dict(x=1,y=2,z=3)
for k in d:
    print("key=%s,value=%s" %(k,d[k]))

输出:

key=x,value=1
key=y,value=2
key=z,value=3 

4、检查字典中是否有某个键

d = dict(x=1,y=2,z=3)
result = "x" in d
print(result)

输出:True 

5、更新字典数据

d = dict(x=1,y=2,z=3)
d["x"] = 4   #更新x的值为4
d["a"] = 6   #添加新数据a
print(d)

输出:{'x': 4, 'y': 2, 'z': 3, 'a': 6}

6、删除字典元素

使用del方法删除元素,使用clear方法清空字典内容

d1 = dict(x=1,y=2)
d2 = dict(a=1,b=2,c=3)
del d1["x"]   #使用del函数删除元素
d2.clear()   #使用clear方法清空字典
print(d1)
print(d2)

输出

{'y': 2}
{} 

7、字典的比较算法

注意:python 3.4.3 的版本中已经没有cmp函数,被operator模块代替

(1) 先比较字典的元素的个数

如果字典的长度不同,用 cmp(dict1, dict2) 比较大小时,如果字典 dict1 比 dict2 长,

cmp()返回正值,如果 dict2 比 dict1 长,则返回负值(键的个数越多则越大)

(2) 比较字典的键

如果两个字典的长度相同,那就按字典的键比较

键是按照keys返回值来进行的比较

(3)比较字典的值

如果两个字典的长度相同而且键也完全匹配,则用字典中每个相同键所对应的值比较

字典的值按照items返回值来进行比较

8、合并字典

借助字典的update()方法,update方法把字典d2的键值对更新到d3里

d1 = dict(x=1,y=2)
d2 = dict(a=1,b=2,c=3)
d3 = {}
d3.update(d1)
d3.update(d2)
print(d3)

输出:{'x': 1, 'y': 2, 'a': 1, 'b': 2, 'c': 3}