课堂笔记8(字典)

字典

字典介绍

字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key 的值计算value的地址,具有非常快的查取和插入速度,是一种可变对象集合类型,支持修改、插入、删除等操作。

字典的创建

创建空字典:
dic = {}

创建字典:元素不限 值可以是任意类型。

{key1:value1, key2:value2}
cgt_infor = {“addr”: “hunan”, “age”: “18”, “hobbit”: [“study python”, “badminton”]}

冒号后面的内容就是值。(value):
可以是任意类型。
在这里插入图片描述
冒号前面的只能是不可变数据类型(key值):只能是不可变类型,可以是()元组,字符串。
在这里插入图片描述

键需要唯一,但是有重复键时可以覆盖。会取最后一个值内容。
例子中打印结果为北京。
在这里插入图片描述

例:爱好有多个,就可以用列表将多个值表述。
“hobbit”: [“study python”, “badminton”]

dict()创建字典方式:

dict(**kwargs)键值对
dic = dict(name= “Amy”, age=18)

dict(mapping) 映射
dic = dict([(“name”, “Amy”), (“age”, 18)])

字典创建拓展

map(func, *iterables): 将iterables里面的元素逐个传到func里面做处理。
func:函数。 iterables: 可迭代对象。

例:将list(“1234”)呈现为[1,2,3,4]

已知将list(“1234”)打印结果会是列表加字符串显示 [“1”, “2”, “3”, “4”],而我们需要呈现的是列表中显示的是整数,而非字符串。
li = list(“1234”)
int是方法。li是列表为可迭代对象。
map(int, li) map对象(将字符串数字映射为整数)

直接打印会显示需要强转
print(list(map(int, li)))将map对象强转为列表
在这里插入图片描述

zip(iter1[,iter2[…]]): 将iter1 iter2中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

例:li_k = [‘name’, ‘age’]与li_v = [‘Amy’, 18]
将这两个列表组合成键字对的字典
目标:[(‘name’, ‘Amy’), (‘age’, 18)]

li_k = [‘name’, ‘age’]
li_v = [‘Amy’, 18]
zip(li_k, li_v) zip对象:打包将可迭代对象里面一一对应的元素打包元组进行返回。
进行强转
print(dict(zip(li_k, li_v)))
在这里插入图片描述

访问字典、查询、增加、修改

字典是集合类型不是序列类型,所以没有索引下标,也没有切片。但是,与列表类似,可以把相应的键放入方括号内获取对应值的方法取值。
在这里插入图片描述
当key值不存在时访问会报错在这里插入图片描述
增加值,取出赋值
在这里插入图片描述
修改值,取出重新赋值
在这里插入图片描述

一系列删除

删除字典元素:del dic[exit_key]或dic.pop[exit_key]

del 字典变量名[键值]
在这里插入图片描述
字典变量名.pop(键值) 注意⚠️:必须传参数
在这里插入图片描述

删除整个字典: del dic
在这里插入图片描述

清空整个字典:dic.clear()
在这里插入图片描述

字典常见操作
  • D.get(k[,d]):返回指定键的值,如果值不在字典中,则返回default值
  • D.items():以列表返回可遍历的(键、值)元组对
  • D.keys():以列表返回字典所有的键
  • D.valuse():以列表返回字典所有的值
D.get(k[,d])

这个函数方法返回键的值和上文通过方括号返回键的值的优势在于如果键不存在不会报错,而是显示空值None。
在这里插入图片描述

D.items()

以列表返回可遍历的(键、值)元组对
在这里插入图片描述

D.keys()

获取所有的key
在这里插入图片描述

D.valuse()

获取所有的valuse
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值