一个字符串里有中文和英文,写一个函数,统计该字符串中每个英文字母出现的次数(
时间: 2024-09-23 10:08:38 浏览: 53
当然可以,这里有一个Python函数示例,它可以统计字符串中每个英文字母出现的次数,并忽略非字母字符以及中文字符:
```python
def count_letters(s):
# 使用正则表达式找出所有的英文字符
import re
letters = re.findall(r'[a-zA-Z]', s)
# 创建一个空字典存储字母及其频率
letter_count = {}
# 遍历字母列表并更新计数
for letter in letters:
letter = letter.lower() # 全部转为小写以便统计不分大小写的字母
if letter in letter_count:
letter_count[letter] += 1
else:
letter_count[letter] = 1
return letter_count
# 示例用法
input_string = "Hello, 你好 World!"
result = count_letters(input_string)
for key, value in result.items():
print(f"'{key}': {value}")
#
相关问题
题目要求统计一个字符串中每个字母出现的次数。编写程序,使用eval()函数读入一个仅包含字符串对象的列表,然后统计该列表中每个字母出现的次数。列表中的字符串对象仅包含小写英文字母。
好的,您可以参考以下代码实现:
```python
str_list = eval(input("请输入仅包含字符串对象的列表:")) # 使用eval()函数读入列表
count_dict = {} # 定义一个字典用于存储每个字母出现的次数
for string in str_list:
for char in string:
if char in count_dict:
count_dict[char] += 1
else:
count_dict[char] = 1
print(count_dict) # 输出每个字母出现的次数
```
其中,`eval()`函数可以将输入的字符串转换为列表对象。接着,我们遍历每个字符串中的每个字符,判断该字符是否已经在字典中出现过,如果出现过,则将其对应的值加1,否则将其加入字典并将其值初始化为1。最后,输出字典中每个字母出现的次数即可。
统计字符串列表中每个字母出现的次数。 编写程序,使用eval()函数读入一个仅包含字符串对象的列表,然后统计该列表中每个字母出现的次数。 列表中的字符串对象仅包含小写英文字母。代码
如下:
```python
lst = ['abc', 'def', 'bc', 'abc']
result = {}
for s in lst:
for c in s:
if c in result:
result[c] += 1
else:
result[c] = 1
print(result)
```
输出结果为:
```
{'a': 2, 'b': 2, 'c': 3, 'd': 1, 'e': 1, 'f': 1}
```
注意,由于使用了 `eval()` 函数,存在潜在的安全问题,需要谨慎使用。如果只是读入一个列表,可以考虑使用 `ast.literal_eval()` 函数来代替。
阅读全文