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] 会报错


 
  1. for i in dic.keys():
  2. 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. #方法1
  2. values=[1,2,3,2,3,1,4]
  3. values_cnt={
  4. }
  5. for value in values:
  6. value_cnt[value]=values_cnt.get(value,0)+1
  7. #方法2
  8. list1=[1,1,2,3,2,3]
  9. dict1={
  10. }
  11. for i in list1:
  12. if i not in dict1:
  13. dict1[i]=1
  14. else:
  15. dict1[i]+=1

你可能感兴趣的