编辑代码

from collections import defaultdict

data = ["胜胜","胜胜","负负","胜胜","平负","平胜","胜胜","平胜","胜平","负负","胜胜","平负","负负","胜胜","胜胜",
"负负","平负","胜胜","平胜","胜胜","平胜","胜胜","负负","平胜","负负","胜胜","胜负","胜胜","胜胜","平平","平胜",
"平负","负负","胜胜","胜胜","胜胜","平平","平负","平负","平平","胜胜","胜平","平负","胜平","胜胜","胜胜","胜胜",
"胜胜","负负","胜负","平负","平负","平平","胜胜","负负","平胜","胜胜","平负","负负","胜胜","胜平","胜胜","平胜",
"胜胜","平胜","平平","胜胜","负负","平胜","平胜","负平","平胜","负负","平平","胜平","平胜","平胜","负负","胜胜",
"胜负","平负","平胜","负负","负负","负负","负负","平平","胜胜","胜胜","胜胜","负负","负平","负负","平负","平负",
"平负","胜胜","平负","负负","平胜","胜负","负平","胜胜","负负","负负","平胜","负平","胜胜","胜胜","胜胜","负负",
"平负","负平","平平","胜胜","胜平","平平","平胜","平胜","负负","平胜","平平","负负","平胜","负平","平胜","负负",
"平平","胜平","平平","平胜","负负","负负","平胜","负负","平平","负平","平平","负负","负胜","胜胜","胜胜","胜胜",
"平胜","平胜","平胜","平负","负胜","平平","平平","平负","胜胜","负负","负胜","胜平","平平","负负","负负","平胜",
"平胜","平胜","负负","负负","负负","胜胜","胜胜","平胜","平平","平胜","胜平","胜胜","平胜","胜胜","负负","平胜",
"负负","平负","平平","胜胜","平负","平负","平平","胜胜","胜负","平负","平胜","胜胜","胜胜","胜胜","平平","平平",
"负负","平负","胜胜","负负","胜胜","平负","负平","平胜","负负","负负","平负","负平","胜胜","胜胜","胜胜","平胜",
"胜胜","胜胜","负平","平平","负平","平负","负负","平负","胜负","负负","平胜","胜胜","胜胜","平负","平平","胜胜",
"平负","平平","平胜","平平","胜胜","胜胜","平平","胜胜","胜胜","负胜","胜负","胜胜","平平","胜胜","平平","平负","胜胜","胜胜"]
# 完整数据

transition = defaultdict(lambda: defaultdict(int))

for i in range(len(data) - 1):
    from_state = data[i]
    to_state = data[i + 1]
    transition[from_state][to_state] += 1

# 计算概率
prob = {}
for from_state, to_states in transition.items():
    total = sum(to_states.values())
    prob[from_state] = {to_state: count / total for to_state, count in to_states.items()}

# 预测下一个
current = "胜胜"
next_states = prob.get(current, {})
most_likely = max(next_states.items(), key=lambda x: x[1]) if next_states else None
print(most_likely)