<分区> 分区>
注意:请确保这不是重复的,我正在尝试找到一种线性方式。
我正在尝试将充满 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]
