当我们需要将键-值对添加到 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技术站