from collections import defaultdict
data = [['A','B','C','D','E'],
['A','B','C'],
['A','B','C','E'],
['C','D','E'],
['C','D','E','B','A']]
characters = [i for j in data for i in j]
counts = {}
combinations = defaultdict(int)
for character in set(characters):
counts[character] = characters.count(character)
for character2 in set(characters):
for entry in data:
combination = [character, character2]
if "".join(combination) in "".join(entry):
combinations[tuple(combination)] += 1
probability = {i: combinations[i]/float(counts[i[0]]) for i in combinations}
probability
{('A', 'B'): 0.75,
('B', 'A'): 0.25,
('B', 'C'): 0.75,
('C', 'D'): 0.6,
('C', 'E'): 0.2,
('D', 'E'): 1.0,
('E', 'B'): 0.25}
暴力:
相关问题 更多 >
编程相关推荐