여러 반복 자료를 같은 위치끼리 묶습니다.
zip은 여러 iterable에서 같은 위치의 값을 튜플로 묶습니다. 이름과 점수처럼 나란히 관리된 데이터를 함께 순회할 때 유용하지만 가장 짧은 입력이 끝나면 기본 zip도 끝납니다.
zip이 names와 scores에서 같은 위치의 값을 하나씩 짝지어 민수와 88, 지영과 93, 서준과 79를 차례로 넘깁니다. 반복 전에 두 리스트의 길이를 비교해 다르면 ValueError를 일으키므로, 점수가 빠진 학생이 조용히 사라지는 일을 막습니다. 평균은 260을 3으로 나눈 값이라 소수점 아래가 길게 이어진 86.66666666666667로 출력됩니다.
길이가 반드시 같아야 한다면 Python 3.10 이상의 zip(..., strict=True)을 사용해 조용한 데이터 누락을 오류로 바꿀 수 있습니다.
서로 강하게 연결된 필드를 별도 리스트로 오래 관리하기보다 딕셔너리나 dataclass 객체 하나로 묶는 설계를 고려합니다.
두 리스트 길이가 달라도 기본 zip은 알려주지 않습니다. 중요한 데이터라면 길이 정책을 명시하세요.
직접 바꿔보세요세 번째 학생을 추가하고 평균 점수도 계산하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.