我有以下3个列表:
L1 = ['H', 'H', 'T', 'T', 'T', 'H', 'H', 'H', 'H', 'T']
L2 = ['H', 'H', 'T', 'T', 'T', 'H', 'H', 'H', 'H', 'T' , 'T', 'H, 'T', 'T', 'T', 'H', 'H', 'H', 'T']
L3 = ['H', 'T', 'H', 'H']
我希望能够统计每个列表中'H'字符出现的连续次数,并生成以下表格以显示这些'H'序列的频率:
Length | L1 | L2 | L3
----------------------
1 0 1 1
2 1 1 1
3 0 1 0
4 1 1 0
5 0 0 0
我知道以下操作可以给出列表中一个序列的频率:
from itertools import groupby
[len(list(g[1])) for g in groupby(L1) if g[0]=='H']
[2, 4]
但我需要一种优雅的方法来进一步处理剩下的列表,并确保未观察到的长度处放置'0'。