PYTHON学习笔记(六、python数据结构--字典)

(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(  )将字典中的一对“键值对”打包成一个元组,然后输出

至此,我们已经了解了字典的大致用法并学会基本的使用方法啦!!!(●ˇ∀ˇ●)😄

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值