데이터 과학

파이썬 딕셔너리 본문

프로그래밍 언어론/파이썬 코딩 기초

파이썬 딕셔너리

티에스윤 2023. 3. 22. 13:55

파이썬 딕셔너리는 키(key)와 값(value)으로 이루어진 데이터 구조입니다. 딕셔너리는 중괄호({})로 표현되며, 키와 값은 콜론(:)으로 구분됩니다.

예를 들어, 아래와 같이 딕셔너리를 생성할 수 있습니다.


my_dict = {'apple': 3, 'banana': 2, 'orange': 1}



위의 예제에서는 apple, banana, orange를 각각의 키로 하고, 그에 대응하는 값은 각각 3, 2, 1입니다.

딕셔너리는 키를 사용하여 값을 검색할 수 있습니다. 예를 들어, my_dict['apple']과 같이 키를 지정하면 해당 키에 대응하는 값을 얻을 수 있습니다.

딕셔너리는 값을 변경하거나 새로운 키와 값을 추가하는 것도 가능합니다. 예를 들어, my_dict['orange'] = 5와 같이 특정 키에 대응하는 값을 변경할 수 있습니다. 또는 my_dict['grape'] = 4와 같이 새로운 키와 값을 추가할 수도 있습니다.

 

 

예를 들어, 딕셔너리를 사용하여 학생의 이름과 점수를 저장하는 프로그램을 만들어보겠습니다.


# 딕셔너리 생성
scores = {'John': 80, 'Jane': 90, 'Mike': 70}

# 학생의 점수 출력
print("John's score:", scores['John'])
print("Jane's score:", scores['Jane'])
print("Mike's score:", scores['Mike'])

# 새로운 학생의 점수 추가
scores['Sarah'] = 85

# 학생의 점수 출력
print("Sarah's score:", scores['Sarah'])

# 학생들의 평균 점수 계산
average_score = sum(scores.values()) / len(scores)
print("Average score:", average_score)


위의 예제에서는 학생의 이름을 키로 하고, 점수를 값으로 하여 딕셔너리를 생성합니다. 그리고 각 학생의 점수를 출력하고, 새로운 학생 Sarah의 점수를 추가합니다. 마지막으로 모든 학생들의 평균 점수를 계산하여 출력합니다.

딕셔너리는 이처럼 여러 가지 데이터를 저장하고, 검색하고, 추가하고, 삭제하고, 수정하는 등의 다양한 작업에 활용될 수 있습니다.



파이썬 딕셔너리의 장점과 단점은 다음과 같습니다.

 

장점:

  • 딕셔너리는 키와 값을 쌍으로 저장하며, 검색 속도가 매우 빠릅니다. 이는 딕셔너리 내부에서 해시 테이블을 사용하기 때문입니다.
  • 딕셔너리는 다른 데이터 구조와 연결할 수 있는 유연성을 제공합니다. 예를 들어, 리스트 안에 딕셔너리를 넣거나, 딕셔너리 안에 리스트를 넣을 수 있습니다.
  • 딕셔너리는 키와 값을 자유롭게 변경하거나 추가할 수 있으며, 이를 통해 데이터를 간편하게 관리할 수 있습니다.


단점:

  • 딕셔너리는 데이터를 저장하기 위해 추가적인 메모리를 사용합니다. 이는 키와 값의 쌍이 많을수록 더 큰 부하를 유발할 수 있습니다.
  • 딕셔너리는 순서가 보장되지 않습니다. 따라서, 데이터를 저장할 때 키의 순서를 고려하지 않으며, 저장된 순서대로 데이터를 출력할 수도 있고, 그렇지 않을 수도 있습니다.
  • 딕셔너리는 키가 중복될 수 없으며, 키의 유일성을 보장해야 합니다. 이를 위해서는 키를 추가할 때마다 중복 검사를 해야 하며, 이로 인해 추가적인 연산 부하가 발생할 수 있습니다.

딕셔너리는 매우 유용한 데이터 구조 중 하나이지만, 중복되지 않는 유일한 키를 사용해야 하고, 키의 순서를 보장하지 않는다는 점 등을 고려하여 적절하게 활용해야 합니다.


 

https://wikidocs.net/16

 

02-5 딕셔너리 자료형

`[추천 동영상 강의]` : [https://www.youtube.com/watch?v=BmXDox6ZFzo](https://www.youtube.com/watch?v=BmXDo…

wikidocs.net

 

'프로그래밍 언어론 > 파이썬 코딩 기초' 카테고리의 다른 글

파이썬 튜플(tuple)  (0) 2023.03.21
파이썬 numpy  (0) 2023.03.21
파이썬 리스트  (0) 2023.03.16
파이썬 변수  (0) 2023.03.14
파이썬 사칙연산  (0) 2023.03.14