python字典中get()函数的基本用法实例

目录
  • 前言
  • 1.get()函数利用键来获取值
  • 2.利用字典统计列表中元素出现次数
  • 补充:和dict[key]的区别
  • 总结

前言

以下内容均为个人笔记,仅供学习参考使用,因内容均为自己实践经验所得,个人水平有限,如有错误欢迎指正

注:编程语言为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)

输出结果:

{'aa': 2, 'b': 1, 'c': 1, 'ddd': 1}

get()函数在这里有两个参数,第一个是确定要分配值的键,第二个是拟定给键分配一个初值,但实际要给键赋值仍需要get赋值语句(为什么这么说下面有介绍)

比如说我现在添加这个语句到代码中

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

拟定初值语句本身对结果是没有影响的,因为并没有实际的对键进行赋值语句操作(个人感觉拟定初值语句是因为没有在字典中找到要赋值的键,因为根本没有创建要赋值的键,因此赋值失败,即相当于一个没有返回值的函数,就算给这个函数赋参数了也没有任何返回结果)

注:get()函数在作为键赋值语句(非拟定赋值语句,区别看上代码框内注释)时只有第一次是有效的,(比如get()函数在第一次对’aa’这个键使用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)

这里着重讲一下第4行代码:cou[i]=cou.get(i,0)+1

第行代码从逻辑上讲执行了两次,而这两次里get语句每次执行时的功能是不一样的:

第一次:cou[i]=cou.get(i,0)+1(i=‘aa’)

此时get语句的功能为赋初值,即把键’aa’的初值置为0然后加1

第二次:cou[i]=cou.get(i,0)+1(i=‘aa’)

因get语句已经作为赋值语句出现过一次了,因此此时再执行这条语句时,赋值功能已经无效了,也就是get语句里第二个参数对’aa’这个键已经无效了,此时get语句的功能为文章内的第一大部分所介绍的功能,所以这条语句此时可等价为

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

cou[i]=cou[i]+1

输出结果和之前的代码结果相同:

{'aa': 2, 'b': 1, 'c': 1, 'ddd': 1}

当单独使用get赋值语句时如果键是第一次出现的话,效果等同赋值语句(和之前在空字典里通过for循环建立新键值对效果一样)

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

输出结果:

```python
{'aa': 10, 'b': 1, 'c': 1, 'ddd': 1,'e':10}

顺带一提如果想直接改变字典中键的值时可用如下方法:

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

输出结果:

{'aa': 10, 'b': 1, 'c': 1, 'ddd': 1}

补充:和dict[key]的区别

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

总结

到此这篇关于python字典中get()函数基本用法的文章就介绍到这了,更多相关python字典get()函数用法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python 字典 setdefault()和get()方法比较详解

    dict.setdefault(key, default=None) --> 有key获取值,否则设置 key:default,并返回default,default默认值为None dict.get(key, default=None) --> 有key获取值,否则返回default.default默认值为None. 例子:循环迭代message字符串中每个字符,计算每个字符出现的次数 import pprint message = "It is a good day, is not

  • python字典get()方法用法分析

    本文实例讲述了python字典get()方法用法.分享给大家供大家参考.具体分析如下: 如果我们需要获取字典值的话,我们有两种方法,一个是通过dict['key'],另外一个就是dict.get()方法. 这里给大家分享的就是字典的get()方法. 这里我们可以用字典做一个小游戏,假设用户在终端输入字符串:"1"或者是"2"或者是"3",返回对应的内容,如果是输入其他的,则返回"error" >>> info

  • 在Python中用get()方法获取字典键值的教程

    get()方法返回给定键的值.如果键不可用,则返回默认值None. 语法 以下是get()方法的语法: dict.get(key, default=None) 参数 key -- 这是要搜索在字典中的键. default -- 这是要返回键不存在的的情况下默认值. 返回值 该方法返回一个给定键的值.如果键不可用,则返回默认值为None. 例子 下面的例子显示了get()方法的使用. #!/usr/bin/python dict = {'Name': 'Zara', 'Age': 27} prin

  • python字典中get()函数的基本用法实例

    目录 前言 1.get()函数利用键来获取值 2.利用字典统计列表中元素出现次数 补充:和dict[key]的区别 总结 前言 以下内容均为个人笔记,仅供学习参考使用,因内容均为自己实践经验所得,个人水平有限,如有错误欢迎指正 注:编程语言为Python3 1.get()函数利用键来获取值 之前在学习python的时候,在获取值得时候常用的方法就是直接 print(dict[key]) 但这种方法中当字典中不存在该键时会返回KeyError类型错误,此时就可以用get()函数还利用键获取值 pr

  • Python 字典中的所有方法及用法

    字典是Python中唯一内建的映射类型.字典中没有特殊的顺序,但都是存储在一个特定的键(key)下面,键可以是数字,字符串,甚至是元组 字典的使用 在某些情况下,字典比列表更加适用: 1.表示一个游戏棋盘的状态,每个键都是由坐标值组成的元组 2.存储文件修改时间,用文件名作为键; 3.数字电话\地址薄 创建字典的五种方式 # 字典的创建方式 # 方式一 {key: value} dict1 = {'one': 1, 'two': 2, 'three': 3} print(dict1) # 方式二

  • Python字典中items()函数案例详解

    Python3:字典中的items()函数 一.Python2.x中items():   和之前一样,本渣渣先贴出来python中help的帮助信息: >>> help(dict.items) Help on method_descriptor: items(...) D.items() -> list of D's (key, value) pairs, as 2-tuples >>> help(dict.iteritems) Help on method_de

  • Python pandas中apply函数简介以及用法详解

    目录 1.基本信息 2.语法结构 3.使用案例 3.1 DataFrame使用apply 3.2 Series使用apply 3.3 其他案例 4.总结 参考链接: 1.基本信息 ​ Pandas 的 apply() 方法是用来调用一个函数(Python method),让此函数对数据对象进行批量处理.Pandas 的很多对象都可以使用 apply() 来调用函数,如 Dataframe.Series.分组对象.各种时间序列等. 2.语法结构 ​ apply() 使用时,通常放入一个 lambd

  • php中substr()函数参数说明及用法实例

    本文实例讲述了php中substr()函数参数说明及用法.分享给大家供大家参考.具体如下: string substr(string $string ,int $start [, int $length ]),它可以用于在一个较长的字符串中查找匹配的字符串或字符,$string为所要处理的字符串,$start为开始选取的位置,$length为要选取的长度. $length 为正数据从左向右读取字符. $length 为负数时就右向左读取字符. string 必需,规定要返回其中一部分的字符串.

  • jquery中map函数遍历数组用法实例

    本文实例讲述了jquery中map函数遍历数组用法.分享给大家供大家参考.具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <

  • JAVA中split函数的常见用法实例

    只写经常使用的,并不完整. 1.基本用法,将字符串按照指定字符串进行分割,例如: public class Main { public static void main(String[] args) { String ss = "abcabcdefg"; String[] split = ss.split("bc"); for(String st:split){ System.out.println(st); } System.out.println("分

  • Python中关于函数的具体用法范例以及介绍

    目录 1.函数的介绍 2.函数的定义和调用 3.函数的参数 4.参数的分类 4.1.位置参数 4.2.关键字参数 4.3.缺省参数 4.4.不定长参数 1.不定长参数*args 2.不定长参数* * kwargs 4.5.函数位置顺序 4.6.函数的返回值 1.多个return 2.返回多个数据 4.7.函数的类型 1.无参数,无返回值的函数 2.无参数,有返回值的函数 3.有参数,无返回值的函数 4.有参数,有返回值的函数 4.8.函数的嵌套 4.9.匿名函数 5.函数小练习 1.函数的介绍

  • python开发中range()函数用法实例分析

    本文实例讲述了python开发中range()函数用法.分享给大家供大家参考,具体如下: python中的range()函数的功能很强大,所以我觉得很有必要和大家分享一下 就好像其API中所描述的: If you do need to iterate over a sequence of numbers, the built-in function range() comes in handy. It generates arithmetic progressions 下面是我做的demo: #

  • python中enumerate函数遍历元素用法分析

    本文实例讲述了python中enumerate函数遍历元素用法.分享给大家供大家参考,具体如下: enumerate函数用于遍历序列中的元素以及它们的下标 示例代码如下: i = 0 seq = ['one', 'two', 'three'] for element in seq: print i, seq[i] i += 1 #0 one #1 two #2 three print '============' seq = ['one', 'two', 'three'] for i, elem

随机推荐