我正在尝试计算 python 中字符串出现的次数。我想采用二进制输入,例如“001101”。然后计算 1、0、11、00 等的数量。
我试图通过使用 count 来实现这一点,但是当我只希望它输出 1 1 和 1 11 时,这会输出有 3 个 1,并且它不会单独计算它们,除非它们是独立的。
我也尝试用 find 来实现这一点,但我遇到了同样的问题。
任何帮助将不胜感激,谢谢。
您可以执行以下操作,使用itertools.groupby and collections.Counter:
from itertools import groupby
from collections import Counter
s = '001101011'
c = Counter(''.join(g) for _, g in groupby(s))
c.get('11')
# 2
c.get('1')
# 1
c.get('111', 0) # use default value to capture count 0 properly
# 0
这会将字符串分组为仅由相等字符组成的子字符串,并对这些子字符串执行计数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)