python字典的setdefault的巧妙用法

当我们需要将键-值对添加到 Python 字典中时,通常会使用dict[key] = value这样的方式进行添加。但是如果我们在使用字典时需要进行更多的操作,例如添加默认值或默认数据类型,那么 setdefault() 方法就非常实用了。

setdefault()方法允许我们指定一个默认值作为键的默认值,如果该键不存在,则将这个默认值添加到字典中。如果该键已经存在于字典中,则返回该键的值。该方法的语法如下:

dict.setdefault(key,default=None)

其中,key是我们要搜索或添加默认值的键,default是我们要设置的默认值。

下面我将向大家介绍两种有关 Python 字典的 setdefault()方法的巧妙用法:

使用 setdefault()方法在字典中添加新的键值对

假设我们想要在一个字典中添加一个新的键值对,但是我们不确定是否已经存在该键。如果该键尚未创建,则为它分配一个默认值并将其添加到字典中。如果它已经存在于字典中,则保留其原始值。我们可以使用setdefault()方法来轻松解决这个问题。

# 初始化一个字典
fruits = {"apple": 1, "banana": 2}
# 使用setdefault()方法添加一个新的键值对,设置默认值为0
fruits.setdefault("orange", 0)
print(fruits)

# 使用setdefault()方法添加一对已有的键值对,设置默认值为0
fruits.setdefault("apple", 0)
print(fruits)

上述代码的输出结果为:

{'apple': 1, 'banana': 2, 'orange': 0}
{'apple': 1, 'banana': 2, 'orange': 0}

从上面的代码输出可以看出,如果键为 'orange' 的字典键不存在,则将 0 做为默认值添加到字典中。而如果键为 'apple' 的字典键已经存在,则保留其原始值,即 1

使用 setdefault()方法实现在字典中对键的计数

假设我们想从一段文本中统计每个单词出现的次数,并将结果存储在以单词作为键的字典中。现在我们想要在字典中实现一个计数器,并计算每个单词出现的总次数。我们可以使用 setdefault() 方法来完成这个任务。

text = "This is a sample text for demonstrating the usage of the setdefault method"
word_counts = {}
for word in text.split():
    # 为每个单词初始化一个出现次数的计数器,若该键不存在则添加,默认值为0
    word_counts.setdefault(word, 0)
    # 对所出现的单词执行计算
    word_counts[word] += 1

print(word_counts)

上述代码的输出结果为:

{'This': 1, 'is': 1, 'a': 1, 'sample': 1, 'text': 1, 'for': 1, 'demonstrating': 1, 'the': 1, 'usage': 1, 'of': 1, 'setdefault': 1, 'method': 1}

从上述代码结果可以看出,setdefault()方法允许我们轻松地在字典中设置及更新值,这使得在处理各种 Python 字典操作时变得更加灵活。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python字典的setdefault的巧妙用法 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python 格式化输出_String Formatting_控制小数点位数的实例详解

    Python格式化输出_StringFormatting_控制小数点位数的实例详解 在Python中,格式化输出是一种常用的技巧,可以用于将变量或表达式的值以特定的格式输出到控制台或文件中。本文将详细讲解Python格式化输出_StringFormatting_控制小数点位数的实例,包括使用字符串格式化符号、使用format方法、控制小数点位数等内容,并提供…

    python 2023年5月15日
    00
  • python图形界面教程Tkinter详解

    Python图形界面教程Tkinter详解 什么是Tkinter Tkinter是Python的标准GUI库之一,提供给用户多种GUI组件,如文本框、按钮、滑块等,可以实现各种用户交互界面。基于Tkinter可以实现多种GUI程序,如文本编辑器、图形模拟等。 安装Tkinter 在Python 3.x中,Tkinter已经默认安装了。如果需要使用Tkinte…

    python 2023年6月13日
    00
  • Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)

    Python3的urllib.parse常用函数小结 urllib.parse模块是Python的一个重要的URL解析器,其中包含了许多常用的函数,例如urlencode、quote、unquote、quote_plus、unquote_plus等。这些函数能够帮助我们解析URL,加密URL内容,或者将URL转换为可读的内容。 urlencode urlen…

    python 2023年6月3日
    00
  • Python爬虫爬取电影票房数据及图表展示操作示例

    在本攻略中,我们将介绍如何使用Python爬虫爬取电影票房数据,并使用Matplotlib库展示数据的图表。以下是一个完整攻略,包括两个示例。 步骤1:获取电影票房数据 首先,需要获取电影票房数据。我们可以使用requests库来获取电影票房数据,并使用BeautifulSoup库来解析HTML页面。 以下是示例代码,演示如何使用Python获取电影票房数据…

    python 2023年5月15日
    00
  • python利用递归方法实现求集合的幂集

    关于“Python利用递归方法实现求集合的幂集”的攻略,可以分为以下几个步骤: 1. 理解集合的幂集 幂集即为一个集合的所有子集(包括空集和全集)。例如,集合{1, 2}的幂集为:{∅, {1}, {2}, {1, 2}}。 2. 设计递归算法 在 Python 中,递归可以用函数来实现。我们可以使用一个递归函数求某个集合的幂集。该函数的设计如下: def …

    python 2023年5月13日
    00
  • 计算机二级python学习教程(3) python语言基本数据类型

    计算机二级python学习教程(3) python语言基本数据类型 本教程将着重介绍Python语言中的基本数据类型,包括数字、字符串、布尔值、列表、元组和字典等,并且会通过简单的示例让大家更好地理解这些数据类型的使用。 数字类型 Python中的数字类型包括整数和浮点数。其中整数类型是没有小数部分的数字。在Python中,整数可以表示为十进制、二进制、八进…

    python 2023年5月20日
    00
  • Python如何访问字符串中的值

    当我们要在Python中访问字符串中的值时,可以使用下标(index)来获取字符串中特定位置的字符。使用下标时,需要将下标放置在字符串变量的名称后面,并将下标值放到一对方括号中。 示例如下: str1 = "Hello, World!" print(str1[0]) # 输出第一个字符"H" print(str1[7]…

    python 2023年6月5日
    00
  • Django微信小程序后台开发教程的实现

    Django微信小程序后台开发可以分为以下几个步骤: 1. 确定需求 在进行开发前,需要明确微信小程序后台的需求,包括用户登录、数据存储、接口开发等。 2. 搭建环境 在进行开发前,需要搭建Django和相关依赖的开发环境。具体的搭建过程可以参考Django官方文档 3. 创建Django项目 在搭建好开发环境后,需要创建一个Django项目。具体的创建过程…

    python 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部