找到重复的char并计算它

时间:2015-10-09 11:06:22

标签: python count duplicates

有没有办法从列表本身计算重复+计数?例如:

list01= ['','home','welcome', 'to', 'my','happy', 'birthday']

  for i in list01:
       for char in i :
            count = 0
            if char = char;
                count = +1
                print (count, char)

我想获得整个列表中char存在的次数。

我在这里缺少什么?

2 个答案:

答案 0 :(得分:5)

如果您不需要从头开始编写,则可以使用itertools.chaincollections.Counter轻松实现此目的。

from itertools import chain
from collections import Counter

list01= ['','home','welcome', 'to', 'my','happy', 'birthday']
print Counter(chain(*list01))

# or alternatively, as noted by Peter Wood
print Counter(chain.from_iterable(list01))

为了做到等效,只需使用内置插件,就可以使用字典来跟踪唯一键(字符)并添加到计数器中。

list01= ['','home','welcome', 'to', 'my','happy', 'birthday']
counter = {}
for element in list01:
    for character in element:
        if character in counter:
            counter[character] += 1
        else:
            counter[character] = 1

答案 1 :(得分:0)

大家好我找到了这样做的方法,请看下面的答案。

list01= ['','home','welcome', 'to', 'my','happy', 'birthday']
str = "".join(list01)
count = 0
char = "h"
for i in str:
    if i == char :
        count +=1
        total =count
print total, char

我跑了3小时。

祝你有愉快的一天,享受python的每一刻。

非常感谢你的时间。

致以最诚挚的问候,