编写一个函数,统计在输入字符串中各个不同字符出现的频度(字符串中的合法字符为a~z的26个字母和0~9的10个数字)。
时间: 2023-04-26 09:01:37 浏览: 90
可以使用一个字典来记录每个字符出现的次数,遍历输入字符串,如果字符是合法字符,则在字典中对应的计数器加1,最后返回字典即可。
具体实现可以参考以下代码:
```python
def count_chars_frequency(s):
freq = {}
for c in s:
if c.isalnum() and c.islower():
freq[c] = freq.get(c, 0) + 1
return freq
```
其中,`isalnum()`方法用于判断字符是否是字母或数字,`islower()`方法用于判断字符是否是小写字母。`freq.get(c, 0)`表示从字典中获取字符c对应的计数器,如果该字符还没有出现过,则返回0。最后返回的字典中,键是出现过的字符,值是对应的计数器。
相关问题
统计在输入字符串中各个不同字符串出现的频度(字符串中的合法字符为A~Z这26个字母)
好的,我可以帮你解决这个问题。你可以使用一个字典来记录每个字符串出现的频度。
具体实现步骤如下:
1. 定义一个字典,用于记录每个字符串出现的频度。初始时,字典中不包含任何键值对。
2. 遍历输入字符串,对于每个字符串,如果它是一个合法的字符(即A~Z这26个字母),就在字典中查找该字符串是否已经存在。如果存在,将该字符串对应的值加1;如果不存在,将该字符串作为新的键,对应的值为1。
3. 最后,遍历字典,输出每个字符串及其出现的频度。
以下是Python代码实现示例:
```
def count_frequency(input_str):
freq_dict = {}
for ch in input_str:
if ch.isalpha() and ch.isupper():
if ch in freq_dict:
freq_dict[ch] += 1
else:
freq_dict[ch] = 1
for key, value in freq_dict.items():
print(key + ": " + str(value))
```
你可以将需要统计的字符串作为参数传递给`count_frequency`函数,然后它会输出每个字符串及其出现的频度。
统计数据结构在输入字符串中各个不同字符串出现的频度(字符串中的合法字符为A~Z这26个字母
好的,你可以使用一个字典来记录每个字符串出现的频度。不同的是,这里我们可以使用数据结构中的字典来实现。
具体实现步骤如下:
1. 定义一个字典,用于记录每个字符串出现的频度。初始时,字典中不包含任何键值对。
2. 遍历输入字符串,对于每个字符串,如果它是一个合法的字符(即A~Z这26个字母),就在字典中查找该字符串是否已经存在。如果存在,将该字符串对应的值加1;如果不存在,将该字符串作为新的键,对应的值为1。
3. 最后,遍历字典,输出每个字符串及其出现的频度。
以下是Python代码实现示例:
```
from collections import defaultdict
def count_frequency(input_str):
freq_dict = defaultdict(int)
for ch in input_str:
if ch.isalpha() and ch.isupper():
freq_dict[ch] += 1
for key, value in freq_dict.items():
print(key + ": " + str(value))
```
你可以将需要统计的字符串作为参数传递给`count_frequency`函数,然后它会输出每个字符串及其出现的频度。
阅读全文