python 字典的常用操作

1 字典
1.1 python字典的概述
字典是一个无序的,可以修改的,元素呈键值对的形式,以逗号分割的,以大括号包围的序列;
字典是python基础数据类型当中唯一一个映射关系的数据类型;
由于字典无序,所以我们定义字典和字典生成之后的元素的顺序是不同的;
1.2 python字典的定义
1.定义字典、查看数据和类型
直接使用print输出
使用type函数查看字典类型
源码:
在这里插入图片描述
运行结果:
在这里插入图片描述
字典的key必须是不可变数据类型,value可以是任意数据类型

2.字典的增加操作
使用setfault方法
在这里插入图片描述
在字典中如果键存在了,就会覆盖键对应的值
运行结果
在这里插入图片描述
法2:
通过key值进行增加
在这里插入图片描述
运行结果
在这里插入图片描述
字典中的键值可以是数字也可以是字符,但不能是变量

3.删除操作
在这里插入图片描述
例:
pop方法 弹出指定键值对
popitem方法 随机删除一个键值对
在这里插入图片描述
运行结果
在这里插入图片描述
使用 clear 清除对象
例:
在这里插入图片描述
运行结果
在这里插入图片描述
4、修改操作
(1).通过key来修改内容 info[key]=value
例:
在这里插入图片描述
运行结果:
在这里插入图片描述
(2).update()方法
例:
在这里插入图片描述
运行结果:
在这里插入图片描述
5.查找字典
在这里插入图片描述
(1)、keys()
在这里插入图片描述
从中我们可以知道,对于keys()函数,字典返回的是一个类(我们可以把它简单看做是数据以及由存取、操作这些数据的方法所组成的一个集合),我们如果向调用其中的键值,必须使用list()函数。可以通过遍历取出其中的值,但不能像list那样调用。
如:
dic.keys( )[0] 会报错

for i in dic.keys():
	print(i)

却可以成功打出所有的键值
在这里插入图片描述
(2)values()
同理values()返回的也是一个类
在这里插入图片描述
(3)get( ),取出字典的值
在这里插入图片描述
注:还有dict[key] 也可以,可以看出dict[key]比上述要简便
(4) update()
上面已经做过讲解

(5)items()
和values( )与keys( )类似,返回的也是一个类,是一个包含key和value的列表
在这里插入图片描述)
1.3 字典的特点

因为字典是无序的,所以字典没有索引值;
因为字典没有索引值,所以字典以键取值,(字典的键相当于列表的索引);
因为字典以键取值,所以字典的键唯一且不可修改;
因为字典的键不可修改,所以列表和字典等可变类型的数据不可以给字典做键。

1.4 字典的常见操作
在这里插入图片描述
2、键值对互换
注:这个可以进互换的前提是键值对唯一。
法1:
在这里插入图片描述
法2:方法2 相当于方法1 的简便方式
在这里插入图片描述
方法3:利用zip()函数合并d.keys()和d.values()的对象
在这里插入图片描述
3、将字典按key值或者value值排序并返回字典
(1)利用lambda函数
1.1.lambda
功能: 创建匿名函数
区别: 和def函数定义,以下两点区别

  • lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符;而def则会把函数对象赋值给一个变量

  • lambda它只是一个表达式,而def则是一个语句

案例:
在这里插入图片描述
在这里要用到两个函数sorted和lambda。

案例1:按字典的键值排序

在这里插入图片描述
注:字典本身在创建的时候就,就会对key值去重,并保留最后一个key值中的元素。
案例2:按字典中的值排序并生成新的字典
在这里插入图片描述

利用字典统计列表中的个数

#方法1
values=[1,2,3,2,3,1,4]
values_cnt={}
for value in values:
   value_cnt[value]=values_cnt.get(value,0)+1
#方法2
list1=[1,1,2,3,2,3]
dict1={}
for i in list1:
    if i  not in dict1:
        dict1[i]=1
    else:
        dict1[i]+=1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值