目录[-]

一、字典

将一系列键值对使用{}包含。
空的字典为False。
len可以返回字典键值对的个数。
字典的键不可变类型。
字典的键可以是 : 数字 整数 浮点数 字符串 布尔值 元祖。
字典的值可以是任意数据类型。

1.创建字典

字典的创建格式:字典名 = {key1:value,key2:value......}

字典中的每一个key值是唯一的、不可改变的,查找value通过key实现极为方便、快捷

创建一个空字典:a = dict() 或者 a = {}

2.字典的访问

字典的访问主要是通过key值来进行。
格式:字典名[key]

1)直接通过key值访问

#input
dict_01 = {'小明':18,'小红':19,'小刚':17}
a = dict_01['小明']
print(a)
#output
18

使用该方式时,如果访问的key值不存在,程序将会报错:KeyError: '小黑’

2)使用 字典名.get(key)

#input
dict_01 = {'小明':18,'小红':19,'小刚':17}
a = dict_01.get('小黑')
print(a)

#output
None

使用此方式访问字典中数据时,当访问的key值不存在时,返回None。该方式在我们写项目时较为常用。

3.字典的操作

字典的操作主要有:增加、删除、替换以及遍历

1)增加

可以直接使用新的key值进行赋值即可。

#input
dict_01 = {'小明':18,'小红':19,'小刚':17}
dict_01['小黑'] = 24
print(dict_01)

#output
{'小明': 18, '小红': 19, '小刚': 17, '小黑': 24}

2)删除

a. del dict[key]

#input
dict_01 = {'小明':18,'小红':19,'小刚':17}
del dict_01['小明']
print(dict_01)

#output
{'小红': 19, '小刚': 17}

b. dict.pop(key,[default])

删除成功,返回key对应的value值。删除失败,返回default定义的值,中括号内的可省略

Eg: result = dict_1.pop(‘张三’,’字典中没有此键’)

1.

#input
dict_01 = {'小明':18,'小红':19,'小刚':17}
a = dict_01.pop('小明')
print(dict_01)
print(a)

#output
{'小红': 19, '小刚': 17}
18

2.

#input
dict_01 = {'小明':18,'小红':19,'小刚':17}
a = dict_01.pop('小黑','字典中没有该key值')
print(dict_01)
print(a)

#output
{'小明': 18, '小红': 19, '小刚': 17}
字典中没有该key值

c. dict.popitem()

删除字典中最后一对键值对,然后将他们均返回出来

#input
dict_01 = {'小明':18,'小红':19,'小刚':17}
key_01,value_01 = dict_01.popitem()
print(dict_01)
print(key_01)
print(value_01)

#output
{'小明': 18, '小红': 19}
小刚
17

d. dict.clear()

clear() 同列表的clear()。清除字典内的所有内容

#input
dict_01 = {'小明':18,'小红':19,'小刚':17}
dict_01.clear()
print(dict_01)

#output
{}

3)替换

替换的原理和增加字典元素是基本相同的。替换是对字典中已有元素进行赋值。

#input
dict_01 = {'小明':18,'小红':19,'小刚':17}
dict_01['小明'] = 24
print(dict_01)

#output
{'小明': 24, '小红': 19, '小刚': 17}

3)更新

update 合并一个字典到原始字典
返回键对应的值
如果键不存在则返回None
或者返回默认值, 第二个参数

d1 = {
    1:2,
    3:4,
}
d1.update({5:6})
print(d1)
>>{1: 2, 3: 4, 5: 6}

4.字典的内置函数

1、keys():将字典里的每个键以字符串的形式,存储为所生成列表里的单个元素

d1 = {
    1:2,
    3:4,
}
print(d1.keys())
>>
dict_keys([1, 3])
遍历字典的键
for key in d1.keys():
    print(key)
>>1
>>3

2、values():将字典里的每个值以字符串的形式,存储为所生成列表里的单个元素

d1 = {
    1:2,
    3:4,
}
print(d1.values())
>>
dict_values([2, 4])
遍历字典的值
for value in d1.values():
    print(value)
>> 2
>> 4

 

3、items():将字典里对应的一对键和值以元组的形式(键, 值),存储为所生成序列里的单个元素

d1 = {
    1:2,
    3:4,
}
print(d1.items())
>>dict_items([(1, 2), (3, 4)])
遍历字典
for key,value in d1.items():
    print(key,value)
>>1 2
>>3 4