기댓값을 계산하려면 사건과 사건이 일어날 확률을 가진 리스트가 각각 필요하다. 리스트를 반복하는 동안 두 리스트에서 사건과 확률을 하나씩 꺼내 곱하고 더하면 된다.
# 사건과 확률을 case와 prob 리스트에 저장한다
case = [ 1, 2, 3, 4, 5, 6 ]
prob = [ 1/6, 1/6, 1/6, 1/6, 1/6, 1/6 ]
# 사건과 확률 리스트를 zip 함수로 묶어 for 루프로 반복한다. 반복하는 동안 두 리스트에서 값을 받아 변수 c와 p에 저장하고 곱한 결과를 ex 변수에 저장한다
ex = 0.0
for c, p in zip( case, prob ):
ex = ex + c*p
print( ex ) # 결과를 출력한다
참고
위 반복문은 다음과 같은 인라인 for 루프로 대체할 수 있다.
ex = sum( c*p for c, p in zip( case, prob ) )
# 결과를 출력한다
print( ex )
▲ 그림 1-25 zip 함수로 묶어 for 루프 실행