gpt4 book ai didi

python - 计数在一个字符串中运行

转载 作者:太空狗 更新时间:2023-10-29 17:56:16 25 4
gpt4 key购买 nike

我有一个看起来像这样的字符串:

string = 'TTHHTHHTHHHHTTHHHTTT'

我怎样才能计算字符串中的运行次数,以便我得到,

5 次 T 和 4 次 H

最佳答案

您可以使用 itertools.groupby 的组合和 collections.Counter :

>>> from itertools import groupby
>>> from collections import Counter
>>> strs = 'TTHHTHHTHHHHTTHHHTTT'
>>> Counter(k for k, g in groupby(strs))
Counter({'T': 5, 'H': 4})

itertools.groupby 根据键对项目进行分组。(默认情况下,键是可迭代本身中的项目)

>>> from pprint import pprint
>>> pprint([(k, list(g)) for k, g in groupby(strs)])
[('T', ['T', 'T']),
('H', ['H', 'H']),
('T', ['T']),
('H', ['H', 'H']),
('T', ['T']),
('H', ['H', 'H', 'H', 'H']),
('T', ['T', 'T']),
('H', ['H', 'H', 'H']),
('T', ['T', 'T', 'T'])]

这里的第一项是项分组所依据的键 (k),list(g) 是与该键相关的组。由于我们只对 key 部分感兴趣,因此,我们可以将 k 传递给 collections.Counter 以获得所需的答案。

关于python - 计数在一个字符串中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18665563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com