제가 가장 먼저 접했던 프로그래밍 언어는 자바스크립트였습니다.
이번 포스팅에서는 파이썬의 데이터 타입에 대해 알아보겠습니다.
자바스크립트의 데이터타입과 비교를 하며 공부를 하니 이해하기 훨씬 수월했습니다.
포스팅 중간중간 자바스크립트와 비교하는 글이 있을 지도 모릅니다. (제가 이해해야 하기 떄문에,,)

백엔드 분야 뿐만 아니라 머신러닝, 인공지능, 데이터분석 등 다양하게 활용되는 파이썬인만큼 데이터를 효율적으로 다루고 처리할 수 있는 능력이 있어야할 것 같습니다.

이번 포스팅에서 알아볼 데이터 타입으로는 네가지입니다.
1. List 리스트
2. Tuple 튜플
3. Dictionary 딕셔너리
4. Set 세트


📌 List 리스트


  • 자바스크립트의 Array(배열)과 동일한 데이터 타입입니다.

  • 데이터를 대괄호[ ]로 감싸는 데이터 타입입니다.

  • 리스트 타입의 각각의 데이터는 각자의 순서를 갖고 있습니다.

  • 리스트에 담겨있는 데이터를 수정 삭제 / 리스트에 새로운 데이터를 추가할 수 있습니다.

  • 제가 좋아하는 축구로 비교해보겠습니다.
    리스트는 축구 경기를 하는 선수들의 이름이 적힌 명단입니다.
    그 명단에는 선수들의 이름이 등번호 순서로 이루어져 있습니다. (순서에만 집중을 해주세요!)
    교체를 하면 명단(리스트)의 선수 이름이 바뀌게 됩니다.
    안타깝지만 퇴장을 당하면 명단에서 선수 이름이 빠지게 되겠죠?

  • 리스트를 만드는 방법은 다음과 같습니다.

new_list_1 = [] # 빈 리스트를 생성합니다.
ew_list_2 = list() # 빈 리스트를 생성합니다.

📌 Tuple 튜플


  • 데이터를 괄호( )로 감싸는 데이터 타입입니다.

  • 리스트와 유사한 데이터 타입이지만 가장 큰 차이점이 있습니다.
    튜플은 데이터를 수정, 삭제, 추가할 수 없습니다.

  • 튜플을 만드는 방법은 다음과 같습니다.

new_tuple_1 = () # 빈 튜플을 생성합니다.
new_tuple_2 = tuple() # 빈 튜플을 생성합니다.

📌 Dictionary 딕셔너리


  • 자바스크립트의 object(객체) 와 동일한 데이터 타입입니다.
    그렇기 떄문에 딕셔너리의 데이터도 keyvalue값으로 이루어져 있습니다.

  • 데이터를 중괄호{ }로 감싸는 데이터 타입입니다.

  • 데이터를 순서대로 관리하지 않습니다.

  • 딕셔너리에 담겨있는 데이터를 수정, 삭제 / 딕셔너리에 새로운 데이터를 추가할 수 있습니다.

  • 마찬가지로 제가 좋아하는 축구에 비유해보겠습니다.
    명단을 보니 이름만 적혀있어 선수들을 구분하기 힘든 것 같네요. (순서도 없구요!)
    이제 축구 명단에 등번호와 이름, 포지션으로 구분지어 선수들을 등록해주겠습니다.
    여기서 등번호, 이름, 포지션은 모두 딕셔너리의 key에 해당합니다.
    그 외의 선수들 각각의 정보 (e.g. 7번 김상웅 MF)는 각각의 key에 해당하는 value라고 할 수 있겠네요

  • 딕셔너리를 만드는 방법은 다음과 같습니다.

new_dictionary = {} # 빈 딕셔너리를 만듭니다.
player_list = {"등번호": 7, "이름": "김상웅, "포지션": "MF"}

  • 딕셔너리의 데이터에 접근하는 방법입니다.
player_list = {"등번호": 7, "이름": "김상웅, "포지션": "MF"}
player_list["등번호"] # 7
player_list["이름"] # "김상웅"
player_list["포지션"] # "MF"

딕셔너리이름[key값]을 통해 value에 접근할 수 있습니다.


📌 Set 세트


  • 딕셔너리와 마찬가지로 데이터를 중괄호{ }로 감싸는 데이터 타입입니다.

  • 딕셔너리와 유사한 데이터 타입이지만 두가지 차이점이 있습니다.
    세트는 데이터의 중복을 허용하지 않습니다.
    세트는 오직 데이터값 하나만 가집니다.

  • 딕셔너리 데이터 타입 형태로 관리하는 축구 선수 명단을 다시 돌이켜보겠습니다.

team_list = {
	"김상웅" : {
    	"number": 17,
        "position": "MF"
    },
    "김상웅" : {
    	"number": 11,
        "position": "FW"
    },
    "최상웅" : {
    	"number": 7,
        "position": "MF"
    },
}

위 코드와 같이 선수 이름 자체가 중복되는 데이터도 있고, positionvalue값이 중복되는 데이터가 있습니다.
선수 이름이 반복되어 두가지 데이터가 모두 출력되지는 않지만 데이터 자체로 문제가 없습니다.

하지만
세트는 중복 자체를 없애버립니다.
중복되는 요소를 가진 리스트를 세트로 변환시켜보겠습니다.

new_list = [1, 1, 1, 2, 3, 4, 4, 5]
new_set = set(new_list)
print(new_set)
# result : {1, 2, 3, 4, 5}

결과 값은 코드의 마지막 줄과 같습니다.
딕셔너리와 달리 key : value 형태로도 이루어지지 않은 것을 확인할 수 있습니다.


📌 마치면서


  • 리스트와 튜플
    1) 괄호의 차이 [] vs ()
    2) 데이터의 수정, 삭제, 추가 : 튜플은 불가능

  • 딕셔너리와 세트
    1) 괄호는 동일 {}
    2) 세트는 key 값이 없음
    3) 세트는 중복을 허용하지 않음

자바스크립트의 데이터 타입과 비슷하여 데이터를 활용하는 데에는 큰 문제가 없는 것 같다.
다만 파이썬과 익숙하지 않다보니 원하지 않는 결과를 마주할 때가 종종 있었다.
파이썬에 내장된 다양항 메서드 함수를 둘러보는 시간도 가져야겠다.


📌 마치면서


WECODE 부트캠프 레플릿 자료
https://wikidocs.net/1015
참고한 블로그

profile
누구나 이해할 수 있도록

0개의 댓글