Python字典及相关操作(内含例题)

青春壹個敷衍的年華 提交于 2019-12-03 04:04:26

Python字典类型

今天将会介绍一种在python中十分常见的组合数据类型——字典

通过一些实例来理解字典中的常规操作

什么是字典类型?

列表中查找是通过整数的索引(元素在列表中的序号)来实现查找功能。

但很多应用程序需要更加灵活的查找方式,即表示索引的键和对应的值组成。

比如说:“用户名”查找“手机号”,“学号”查找“学院班级”等等

通过任意键信息查找一组数据中值信息的过程叫“映射”

Python语言中,通过字典来实现映射。

简单理解为,字典为处理信息与信息相对应映射关系的组合数据类型。

字典类型操作

创建一个字典,内容为国家与首都的映射,并添加中国、美国、法国为例

#第一中添加方式
d={"中国":"北京","美国":"华盛顿"}
#第二种添加方式
d["法国"]="巴黎"
print(d)

 

这里需要注意一点,字典和集合 一样具有无序性,所以返回结果可能和输入顺序有所差别

字典类型主要结构为 :对应

在上例中,中国、美国、法国就相当于键,北京、华盛顿、巴黎属于值。

1.keys()

函数作用为返回所有“键”信息,也就是返回“中国、美国、法国”,不需要传入任何参数,使用方法如下:

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d.keys())

 

结果如下所示:

 

 

 提示:可以将结果以列表的方式输入,只需要加入list()转换一下

2.values()

与keys()函数作用相似,作用为返回字典的值信息,也就是返回“北京、华盛顿、巴黎”,同样不需要参数,使用方法如下

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d.values())

 

结果如下所示:

3.items()

 

其主要作用为返回字典所有的键值对,看起来和直接打印字典本身差距不大,那专门来对比下效果:

 

 

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}#直接打印
print(d)#打印键值对
print(d.items())

 

 

 

 

效果如下:

 

 

 很明显,通过items()打印键值对,键值对会通过()来表示相关关系

4.get(<key>,<default>)

get()函数为判断函数,判断键是否有对应的值,若对应值存在 则返回对应值,若不存在则返回参数值,若未输入参数值,默认为none

举例子:输入键——中国,存在值——北京,则返回“北京”,输入键——泰国,不存在值,则返回none

 

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
# 键中国有对应值,返回北京
print(d.get("中国"))
# 键泰国无对应值、无传入默认值,返回none
print(d.get("泰国"))
# 键意大利无对应值,有传入默认值"字典中无此数据" 返回默认值"字典中无此数据"
print(d.get("意大利","字典中无此数据"))

 

 

 

结果如下:

 

 

 

5.pop(<key>,<default>)

pop()函数与get()相似,使用方法相同,但是,pop()函数在get()的基础上,多加了一步,若键存在则在返回相应值的同时删除对应键,若不存在同get ()

 

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d)
print(d.pop("法国"))
print(d)

 

 

 

为效果明显,先打印原字典,通过pop删除后再打印字典,如下图所示,法国的键值对消失不见()

 

 

 6.popitem()

函数作用为,随机从字典中选取一个键值对,并且以元组(key,walue)的形式返回

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d.popitem())

 

7.clear()

如同英文直译一样, clear()的作用为删除所有的键值对,也就是清空字典内部所有数据

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d)
d.clear()
print(d)

 

结果如下:

8.del<d>[<key>]

 

操作为传入键,删除对应的键值对.

 

 

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print(d)
del d["法国"]
print(d)

 

 

 

 

结果为:

 

9<key>in<d>

属于判断函数,若键在字典中为则返回true 否则返回false

d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}
print("美国" -in d)

 

字典实战演练

例子1

D={“张三”:88,“李四”:90,“王五”:73,“赵六”:82}

1.字典中添加键值对“钱七”:90

D={"张三":88,"李四":90,"王五":73,"赵六":82}
D["钱七"]=90
print(D)

 

2.修改王五的信息为93

D={"张三":88,"李四":90,"王五":73,"赵六":82}
D["王五"]=93
print(D)

 

3.删除赵六对应的键值对

D={"张三":88,"李四":90,"王五":73,"赵六":82}
D.pop("赵六")
print(D)

 

例子2:

输入一串字符串,统计每一个字母出现的次数

s=input("输入:")
d={}
for i in s:
    if i not in d :
        d[i]=1
    else:
        d[i]=d[i]+1
print(d)

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!