Python 找到重复的字符并计数

Python 找到重复的字符并计数,python,count,duplicates,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) 我想得到一个字符在

有没有一种方法可以从列表中重复计数?例如:

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)
我想得到一个字符在整个列表中出现的次数


我在这里遗漏了什么?

如果您不需要从头开始编写,您可以使用和轻松实现这一点

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

如果您不需要从头开始编写,那么可以使用和轻松实现这一点

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

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

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带来的每一刻

非常感谢你抽出时间


致以最诚挚的问候,

大家好,我找到了解决方法,请参见下面的答案

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带来的每一刻

非常感谢你抽出时间


致以最诚挚的问候,

您是否尝试过运行此功能。您的
if语句中存在语法错误。如果char==char:
请改用
如果char=char
char==char
始终为
True
。您是否尝试过运行此功能。您的
if语句中存在语法错误。如果char==char:
请改用
如果char=char
char==char
始终为
True
。避免使用
*
。只需澄清:
'.join(chain.from_iterable(list01))==“HomeWellCometMyHappyBirthDay”
您不需要加入
链的输出,因为计数器接受任何iterable,而链的结果是列表的生成器,列表和字符串都是可编辑的。我正在演示链的效果,如果不清楚的话,你会得到一个单一的序列。我想说
list(chain.from_iterable(list01))=['h','o','m',…]
就不那么清楚了。也许不是!您好,非常感谢您的回答。我想从头开始写。下一次尝试的结果是这一次仍然不太奏效list01=['','home','welcome','to','my','happy','birth']对于列表中的我来说01:for char in i:count=0 print如果char==char:count=+1 print(count,char)--我一直在尝试,我会回来让你们知道它是如何工作的。顺致敬意,避免使用
*
。只需澄清:
'.join(chain.from_iterable(list01))==“HomeWellCometMyHappyBirthDay”
您不需要加入
链的输出,因为计数器接受任何iterable,而链的结果是列表的生成器,列表和字符串都是可编辑的。我正在演示链的效果,如果不清楚的话,你会得到一个单一的序列。我想说
list(chain.from_iterable(list01))=['h','o','m',…]
就不那么清楚了。也许不是!您好,非常感谢您的回答。我想从头开始写。下一次尝试的结果是这一次仍然不太奏效list01=['','home','welcome','to','my','happy','birth']对于列表中的我来说01:for char in i:count=0 print如果char==char:count=+1 print(count,char)--我一直在尝试,我会回来让你们知道它是如何工作的。顺致敬意,