有没有办法从列表本身计算重复+计数?例如:
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存在的次数。
我在这里缺少什么?
答案 0 :(得分:5)
如果您不需要从头开始编写,则可以使用itertools.chain和collections.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的每一刻。
非常感谢你的时间。
致以最诚挚的问候,