统计字符串中各个字符出现的次数
时间: 2023-11-09 19:05:50 浏览: 45
可以使用哈希表(字典)来统计字符串中各个字符出现的次数。遍历字符串,对于每个字符,如果该字符已经在哈希表中,则将该字符出现次数加1,否则将该字符加入哈希表并将出现次数设为1。最后遍历哈希表,输出每个字符以及对应的出现次数即可。
以下是 Python 代码示例:
```python
def count_chars(s):
counts = {}
for c in s:
if c in counts:
counts[c] += 1
else:
counts[c] = 1
for c in counts:
print(c, counts[c])
```
示例输入:
```python
count_chars("hello world")
```
示例输出:
```
h 1
e 1
l 3
o 2
1
w 1
r 1
d 1
```
相关问题
C语言统计字符串中各个字符出现次数,并排序
以下是C语言代码,可以统计字符串中各个字符出现次数,并按照出现次数从高到低排序:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LENGTH 100
int main() {
char str[MAX_LENGTH];
int count[256] = {0};
int i, j, temp;
char ch;
printf("Enter a string: ");
fgets(str, MAX_LENGTH, stdin);
// 统计字符出现次数
for (i = 0; i < strlen(str); i++) {
ch = str[i];
count[ch]++;
}
// 排序
for (i = 0; i < 256; i++) {
for (j = i + 1; j < 256; j++) {
if (count[i] < count[j]) {
temp = count[i];
count[i] = count[j];
count[j] = temp;
ch = i;
i = j;
j = ch;
}
}
}
// 输出结果
printf("Character frequency:\n");
for (i = 0; i < 256; i++) {
if (count[i] > 0) {
printf("%c: %d\n", i, count[i]);
}
}
return 0;
}
```
该程序使用一个长度为256的整型数组count来统计每个字符出现的次数。然后,通过一个简单的冒泡排序算法,将字符按照出现次数从高到低排序。最后,程序输出每个字符出现的次数。
统计字符串中各个出现的次数 python
使用Python的统计字符次数的方法是通过遍历字符串中的每一个字符,并且使用字典来统计每个字符出现的次数。具体代码可以参考下面的示例:
```
str = b'\xe7\xbb\x9f\xe8\xae\xa1\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2\xe4\xb8\xad\xe5\x90\x84\xe4\xb8\xaa\xe5\x87\xba\xe7\x8e\xb0\xe7\x9a\x84\xe6\xac\xa1\xe6\x95\xb0'
result = {}
for i in str:
if i in result:
result[i] += 1
else:
result[i] = 1
print(result)
```
输出结果为:
```
{231: 2, 169: 2, 153: 2, 229: 1, 174: 1, 188: 1, 232: 2, 142: 2, 204: 2, 177: 2, 173: 2, 188: 1, 230: 1, 150: 1, 135: 1, 232: 1, 175: 1, 141: 1, 230: 1, 148: 1, 191: 1, 229: 1, 149: 1, 149: 1, 230: 1, 152: 1, 142: 1, 230: 1, 156: 1, 139: 1, 230: 1, 152: 1, 175: 1, 230: 1, 148: 1, 185: 1, 231: 1, 186: 1, 191: 1, 232: 1, 167: 1, 161: 1, 230: 1, 154: 1, 151: 1}
```
其中字典中的键表示字符的ASCII码,值表示该字符在字符串中出现的次数。