Skip to main content
 首页 » 编程设计

python之计算字符串中所有字符的出现次数,但如果字符重复则仅出现一次

2025年05月04日24zfyouxi

<分区>

注意:请确保这不是重复的,我正在尝试找到一种线性方式。

我正在尝试将充满 ascii 字母的字符串转换为充满 ascii 字母出现的字符串。

例如: string1 = 'abc'。

要将其转换为包含出现的 ascii 字母的字符串,我只需使用一行命令:

string2 = [string1.count(l) for l in string1]

这将输出:

[1, 1, 1]


但是如果我在 string1 中有多个重复的字符,它看起来会不一样。

例如:string1 = 'aaabbbccc'

并转换它:

string2 = [string1.count(l) for l in string1]

输出为:

[3, 3, 3, 3, 3, 3, 3, 3, 3]


如您所见,字符的出现是重复的,我不知道如何制作一个生成器,它只打印一次出现的单个字母。

例如:

代替:

[3, 3, 3, 3, 3, 3, 3, 3, 3]

有没有办法用单行生成器输出这个?

[3, 3, 3]