(3)dict字典
字典数据类型的含义是:根据一个信息查找另一个信息的方式构成了“键值对”,它表示索引用的键和对应的值构成对应的关系。
1、字典的创建方式
1)使用{ }直接创建字典
使用{ }创建字典的语法结构如下:
d = {key1:value1,key2:value2......}
例如:
#使用{ }创建字典
d = {10:'cat',20:'dog',30:'pet',20:'zoo'}
print(d)
输出结果:
{10: 'cat', 20: 'zoo', 30: 'pet'}
2)使用内置函数dict( )创建字典
使用映射函数zip( )创建字典的语法结构如下:
#zip函数
lst1 = {10,20,30,40}
lst2 = {'cat','dog','pet','zoo','car'}
zipobj = zip(lst1 , lst2)
print(zipobj)
输出结果:
<zip object at 0x0000025EB4C51C40>
输出结果表明我们使用映射函数zip( )将两个字典打包成了元组,因此在输出zip( )函数时,会输出一个生成器对象,不能输出内容,因此,我们还需要使用内置函数dict( )调用其内容,如下所示:
#zip函数
lst1 = [10,20,30,40]
lst2 = ['cat','dog','pet','zoo','car']
zipobj = zip(lst1 , lst2)
zipobj1 = dict(zipobj)
print(zipobj1)
输出结果:
{10: 'cat', 20: 'dog', 30: 'pet', 40: 'zoo'}
3)使用“ 字典生成式 ”创建字典
字典生成式的含义:用来生成字典的表达式。
d = {key:value for item in range}
d = {key:value for key,value in zip(lst1,lst2)}
例如:
import random
d = {i : random.randint(1,100) for i in range(4)}
print(d)
输出结果:
{0: 7, 1: 17, 2: 33, 3: 40}
这段代码的逻辑是:导入随机数库,使用生成式生成四个序列号,这四个序列号上的值为" i : random . randint ( 1 , 100 ) "的字典,最后输出“ d ”,结果为一个字典包含四个” 键值对 ”。
例如:
#创建两个列表
lst1 = [1001,1002,1003]
lst2 = ['小鬼','gg boy','giegie']
d = {key:value for key,value in zip(lst1,lst2)}
print(d)
输出结果:
{1001: '小鬼', 1002: 'gg boy', 1003: 'giegie'}
这段代码的逻辑是:首先创建两个列表,通过” zip( ) ”函数将两个列表分别打包成元组,然后key和value在里面遍历搜索,最后输出” 键值对 “格式。
2、字典的访问方式
1)字典元素的取值
由于字典中的键key是无序的,因此我们需要对字典进行取值操作。
字典元素的取值语法:
d[key]或d.get(key)
例如:
#创建两个列表
lst1 = [1001,1002,1003]
lst2 = ['小鬼','gg boy','giegie']
d = {key:value for key,value in zip(lst1,lst2)}
print(d)
d1 = d[1001]
print(d1)
输出结果:
{1001: '小鬼', 1002: 'gg boy', 1003: 'giegie'}
小鬼
上面代码的逻辑是:
1、首先生成两个列表
2、使用“ 字典生成式 ”生成一个(列表1)和 (列表2)相对应的字典(键值对)
3、从输出的字典中通过索引键,来输出值
2)字典元素的遍历
例如:
#创建两个列表
lst1 = [1001,1002,1003]
lst2 = ['小鬼','gg boy','giegie']
d = {key:value for key,value in zip(lst1,lst2)}
print(d)
for i in d.items():
print(i)
输出结果:
{1001: '小鬼', 1002: 'gg boy', 1003: 'giegie'}
(1001, '小鬼')
(1002, 'gg boy')
(1003, 'giegie')
上述代码的逻辑是:
1、创建两个列表
2、使用“ 字典生成式 ”生成一个(列表1)和 (列表2)相对应的字典(键值对)
3、使用d.items( )函数,将字典中一对键值对组成一个项目元组(即4对元组)
4、最后输出4对元组
3、字典的修改操作
字典的方法 | 说明 |
d.keys( ) | 获取所有键key的数据 |
d.values( ) | 获取所有value值得数据 |
d.pop( ) | 通过键key获取对应的值valule,同时在字典中删除这个“键值对”,否则获取默认值 |
d.popitem( ) | 随机从字典中抽出一个“键值对”,结果为两个元组类型,同时将该“键值对”删除 |
d.clear( ) | 清空字典中所有的“键值对” |
d.items( ) | 将字典中的一对“键值对”打包成一个元组,然后输出 |
至此,我们已经了解了字典的大致用法并学会基本的使用方法啦!!!(●ˇ∀ˇ●)😄