본문 바로가기

Programming/python

Python dict(사전)형식에서 List를 사용해보자

사전(Dict)에 리스트를 포함하는 예제를 작성해보겠습니다. 사전 내에 리스트를 값으로 가지는 경우, 각 키(Key)는 해당 리스트에 접근하는 데 사용될 수 있습니다.

예제:

# 사전에 리스트를 포함하는 예제
student_scores = {
    'John': [85, 90, 78],
    'Alice': [92, 88, 95],
    'Bob': [78, 84, 80]
}

print(student_scores['John'])  # John의 성적 리스트에 접근
print(student_scores['Alice'])  # Alice의 성적 리스트에 접근


출력 결과:

[85, 90, 78]
[92, 88, 95]


위 예제에서 `student_scores` 사전은 학생들의 이름을 키로 가지며, 각 학생의 성적을 리스트로 값으로 갖습니다. 따라서 특정 학생의 이름을 사용하여 해당 학생의 성적 리스트에 접근할 수 있습니다.

이러한 형태의 효율성에 대한 설명:

사전 내에 리스트를 포함하는 경우, 이러한 구조는 특정 상황에 매우 유용합니다. 몇 가지 효율성 측면에 대해 설명해보겠습니다.

1. 그룹화(Grouping):

 사전 내에 리스트를 사용하면 여러 값들을 그룹화하여 저장할 수 있습니다.

위 예제에서 학생들의 성적을 각각 이름별로 그룹화하여 저장했습니다.

2. 데이터 구조 표현:

 사전과 리스트의 조합은 복잡한 데이터 구조를 표현하기에 유용합니다. 

다차원 데이터를 표현할 때, 사전 내에 리스트를 중첩하여 사용하면 데이터를 더 효과적으로 표현할 수 있습니다.

3. 데이터 업데이트:

 사전 내의 리스트는 가변(mutable)이므로 값의 추가, 수정, 삭제가 가능합니다.

이를 활용하여 동적으로 데이터를 업데이트하거나 추가할 수 있습니다.

4. 데이터 탐색:

 특정 학생의 성적을 찾을 때, 이름을 키로 사용하여 사전 내의 리스트에 직접 접근할 수 있기 때문에 데이터를 효율적으로 탐색할 수 있습니다. 이는 리스트를 순회하며 값을 찾는 것보다 더 효율적입니다.

단점으로는 리스트 내의 값을 변경하면 해당 사전의 모든 참조에서 변경된 값을 반영한다는 점이 있습니다. 때로는 의도치 않은 결과가 발생할 수 있으므로 주의가 필요합니다. 이러한 점을 고려하여 데이터 구조를 설계하고 활용하는 것이 중요합니다.

반응형