运维开发网

python字典中get函数的基本用法示例

运维开发网 https://www.qedev.com 2022-04-21 14:33 出处:网络
在字典内置的方法中,想说的方法为get,这个方法是通过键来获取相应的值,但是如果相应的键不存在则返回None,这篇文章主要给大家介绍了关于python字典中get()函数的基本用法,需要的朋友可以参考

在字典内置的方法中,想说的方法为get,这个方法是通过键来获取相应的值,但是如果相应的键不存在则返回None,这篇文章主要给大家介绍了关于python字典中get()函数的基本用法,需要的朋友可以参考


前言

以下内容均为个人笔记,仅供参考。由于内容都是从自己的实践经验中得来的,个人水平有限。如有错误,请指正。

注意:编程语言是Python3


1.get()函数利用键来获取值

以前学习python的时候,获取有价值的东西的常见方式是直接的。

print(dict[key])

但是,在这个方法中,当字典中不存在该键时,将返回KeyError类型,然后可以使用get()函数通过使用该键来获取值。

print(dict.get(key))

当使用get()函数进行操作时,当输入的键在字典中不存在时,它会返回一个None,这样程序就会无异常运行。


2.利用字典统计列表中元素出现次数

例如,现在有一个列表,允许您计算列表中某些元素出现的次数。

ls=['aa','b','c','ddd','aa']

计算列表中每个元素出现的次数:

cou={} #创建一个空字典for i in ls: cou[i]=cou.get(i,0)+1 #之后称其为get的赋值语句,目的是新建字典键值对 ''' 赋值语句代码等价于 cou[i]=0 cou[i}=cou[i]+1 '''print(cou)

输出结果:

{#39;aa # 39: 2, #39;b # 39: 1, #39;c# 39;: 1, #39;ddd # 39: 1}

get()函数在这里有两个参数。第一个是确定要赋值的键,第二个是给键赋一个初始值。然而,实际上,仍然需要get assignment语句来给键赋值。(为什么说这是下面描述的)

假设我现在将这个语句添加到代码中。

cou.get('b',10) #之后称为拟定初值语句

初值语句本身对结果没有影响,因为对键没有实际的赋值语句操作(我个人感觉初值语句拟定是因为在字典中没有找到要赋值的键,赋值失败是因为没有要赋值的键,相当于一个没有返回值的函数,即使给了函数参数也没有返回结果)。

注意:get()函数只有在作为key赋值语句使用时才第一次有效(非草稿赋值语句,区别见上面代码框中的注释),(比如get()函数第一次对rsquo有效;aarsquo对该键使用get赋值语句后,下次使用get赋值语句时,该键的值仍将是第一次赋值操作的结果)。以下是测试代码:

ls=['aa','b','c','ddd','aa']cou={} #创建一个空字典for i in ls: cou[i]=cou.get(i,0)+1 #功能逻辑看下方阐述cou['aa']=cou.get('aa',10) #功能同前一条代码执行到第二次时的print(cou)

我们重点看第四行代码:cou[i]=cou.get(i,0)+1。

第行的代码逻辑上执行了两次,在这两次中get语句的功能每次都不一样:

第一次:cou[i]=cou.get(i,0)+1(I = lsquo;aarsquo)

此时,get语句的作用是赋值初始值,即按下键rsquoaarsquo将的初始值设置为0,然后加1。

第二次:cou[i]=cou.get(i,0)+1(I = lsquo;aarsquo)

由于get语句已经作为赋值语句出现过一次,此时再次执行该语句时,赋值函数已经失效,即get语句中的第二个参数对rsquo没有影响;aarsquo该密钥不再有效。此时,get语句的功能是文章第一部分介绍的功能,因此该语句可以等效为

cou[i]=cou.get(i)+1

也就是

库[I]=库[i]+1

输出与前面的代码结果相同:

{#39;aa # 39: 2, #39;b # 39: 1, #39;c# 39;: 1, #39;ddd # 39: 1}

单独使用get赋值语句时,如果key第一次出现,效果与赋值语句相同(与之前通过for循环在空字典中创建新的键值对的效果相同)。

cou['e']=cou.get(e,10)

输出结果:

` ` python
{ # 39;aa # 39: 10, #39;b # 39: 1, #39;c# 39;: 1, #39;ddd # 39: 1,#39;e # 39:10}

顺便说一句,如果你想直接改变字典中键的值,你可以使用下面的方法:

cou['aa']=10 #这种赋值语句带有强制性print(cou)

输出结果:

{#39;aa # 39: 10, #39;b # 39: 1, #39;c# 39;: 1, #39;ddd # 39: 1}


补充:和dict[key]的区别

当键值存在时,Dict.get(key)和dict[key]都可以得到对应的键值。但是当使用dict[key]时,该键必须存在,否则会报错。但是dict.get[key]中的key不能存在,因为get方法有一个默认参数None,当key不存在时,返回None。


总结

关于python字典中get()函数的基本用法,本文就到这里了。关于python字典中get()函数用法的更多信息,请搜索源搜网之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持源搜网!


0

精彩评论

暂无评论...
验证码 换一张
取 消