实现统计一个字符串中出现不同字符的个数
时间: 2023-12-24 10:35:19 浏览: 85
您好!要统计一个字符串中出现不同字符的数,可以使用集(Set)来辅助实。以下是一个示例的代码:
```python
def count_unique_chars(string unique_chars = set(string) # 将转换为集合,去除重复字符
len(unique_chars) # 返回集合的长度,即不同字符的个数
# 示例用法
string = "abracadabra"
unique_count = count_unique_chars(string)
print(unique_count) # 输出:5
```
在这个示例中,我们首先将字符串转换为集合`unique_chars`,这样就会自动去除字符串中的重复字符。然后,我们返回集合的长度,即不同字符的个数。
希望对您有帮助!如果您有任何其他问题,请随时提问。
相关问题
封装子函数实现统计一个字符串中出现不同字符的个数,用C语言基础知识实现
好的,以下是用C语言实现统计一个字符串中出现不同字符的个数的代码:
```c
#include <stdio.h>
int count_unique_chars(char* string) {
int count = 0;
int char_set[256] = {0}; // 用于记录字符出现的次数的数组
// 遍历字符串中的每个字符
for (int i = 0; string[i] != '\0'; i++) {
char_set[(int)string[i]]++; // 统计字符出现的次数
}
// 统计不同字符的个数
for (int i = 0; i < 256; i++) {
if (char_set[i] > 0) {
count++;
}
}
return count;
}
int main() {
char string[] = "abracadabra";
int unique_count = count_unique_chars(string);
printf("Unique character count: %d\n", unique_count);
return 0;
}
```
在这个例子中,我们首先定义了一个长度为256的整型数组`char_set`,用于记录每个字符出现的次数。然后,我们遍历字符串中的每个字符,将其对应的数组元素加1。最后,我们再次遍历数组,统计出现次数大于0的元素个数,即为不同字符的个数。
在主函数中,我们定义了一个测试字符串`string`,并调用`count_unique_chars`函数来获取不同字符的个数,并输出结果。
希望对您有所帮助!如果您还有其他问题,请随时提问。
C语言实现统计一段字符串中相同字符的个数
以下是C语言代码实现:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int freq[256] = {0}; // 用数组记录每个字符出现次数,ASCII码有256个字符
printf("请输入字符串:");
gets(str); // 读入字符串
int len = strlen(str);
for (int i = 0; i < len; i++)
{
freq[(int)str[i]]++; // 将字符转换为ASCII码,增加相应的计数器
}
printf("每个字符出现的次数为:\n");
for (int i = 0; i < 256; i++)
{
if (freq[i] > 0)
{
printf("%c: %d\n", i, freq[i]); // 输出非零计数器对应的字符和次数
}
}
return 0;
}
```
这段代码使用了一个长度为256的数组 `freq` 来记录每个字符出现的次数,数组的下标对应字符的ASCII码。读入字符串后,遍历每个字符,将相应的计数器加1。最后输出非零计数器对应的字符和次数。