专业编程基础技术教程

网站首页 > 基础教程 正文

Python入门系列22-利用字典setdefault方法统计字符串

ccvgpt 2024-08-18 14:36:51 基础教程 7 ℃

本篇利用前面结束的字典方法来完成一个小功能,就是统计一个字符串每个字符的个数。这将涉及到之前没有讲过的一些知识,比如函数等。

Python中什么数据结构可以很好地用来解决这个问题呢?我想字典再合适不过了,我们可以把字符串中的每个字符当作字典的键,然后字符出现的次数为值。

Python入门系列22-利用字典setdefault方法统计字符串

还有一个问题是我们要有一个函数来获取字符串,并把它赋给一个变量。

前面我们学到字典的setdefault方法,该方法的其中一个用法就是当同时提供键参数和可选参数的时候,如果原来字典中不存在键,则会在字典中增加新的键值对。

利用这个特点,我们可以轻松的解决这个问题。

>>> def count_word():  #定义个函数,该函数不接收任何参数
	word = input("请输入一个字符串:")  # 利用input内置函数来获取字符串
	count_dict = {}  #声明一个空字典
	for w in word:  #利用for循环遍历一个字符串,此处的word为input函数返回的结果
		if  w  in count_dict:   #先利用if语句判断是否存在该键,如果存在就让该值加1
			count_dict[w] += 1
		count_dict.setdefault(w, 1)   #如果不存在该键,就增加该键,并且值设置为1
	return count_dict    #函数返回一个字典
>>>
>>> count_word()  # 运行该函数来测试其功能是否满足要求
请输入一个字符串:hello python
{'h': 2, 'o': 2, 'e': 1, 'p': 1, 't': 1, 'y': 1, 'n': 1, 'l': 2, ' ': 1}
>>> count_word()
请输入一个字符串:i love python
{'h': 1, 'p': 1, 'o': 2, 'e': 1, 'v': 1, 'y': 1, 't': 1, 'i': 1, 'n': 1, 'l': 1, ' ': 2}
>>> count_word()
请输入一个字符串:hello
{'h': 1, 'o': 1, 'e': 1, 'l': 2}

以上定义的函数完美的解决字符串字符统计计数的问题。

上述函数也可以轻松地改造成统计各种不同种类东西的计数,比如水果不同品种下的计数等。

Tags:

最近发表
标签列表