饮歌长啸
您可以使用 aCounter来计算转换发生的次数,然后计算每个转换的概率。您可以使用zip组合列表的两个切片m- 一个删除了最后一个元素,另一个删除了第一个元素 - 以获得相邻元素的元组。zip(m[:-1], m[1:])这样做。然后你可以计算类似的元组 - 代表转换 - 与Counter:from collections import Counterm = [[213, 'vha'], [342, 'gha'], [523, 'xha'], [121, 'gha'], [812, 'gha'], [612, 'vha'], [123, 'gha']]c = Counter([(x[1], y[1]) for x, y in zip(m[:-1], m[1:])])probs = [(e, v / (len(m) - 1)) for e, v in c.items()]for p in probs: print(p)输出(('vha', 'gha'), 0.3333333333333333) (('gha', 'xha'), 0.16666666666666666) (('xha', 'gha'), 0.16666666666666666) (('gha', 'gha'), 0.16666666666666666) (('gha', 'vha'), 0.16666666666666666)