计数字母表中的每次出现,并将其存储在一个列表中在Python 3

问题描述:

假设我有一个字符串s计数字母表中的每次出现,并将其存储在一个列表中在Python 3

s = "ebber" 

我想要的列表,其中x = [1,1,2,2,1]
我们看到e的第一个出现,所以我们在列表x中的第一个元素是1,那么我们看到b的第一个出现,所以我们列表中的下一个元素是1,然后我们看到第二个出现的b,所以我们的下一个元素该列表是2,依此类推......

我该如何实现代码才能在python中获得此结果?

+3

你有没有试过编码呢?你能否展示你的尝试并解释你有什么困难? – idjaw

+3

应该有一个直接的方式来循环你的字符串和构造一个字典,其中每个键是一个字母,并且这些值存储给定字母的出现次数。所以先尝试一下。 –

from collections import defaultdict 

def count(s): 
    d, ls = defaultdict(int), [] 
    for e in s: 
     d[e] += 1 # increment counter of char 
     ls.append(d[e]) # add counter 
    return ls 

count("ebber") # [1, 1, 2, 2, 1]