인생이 쓰다!인생쓰

개발/Python

Python 데이터 구조

Johnal 2021. 3. 29. 16:28
반응형

오늘은 파이썬의 데이터 구조에 대해서 알아볼까 합니다.  😊

파이썬의 기본 데이터타입에는 정수형,실수형 문자열이 있는데 이런 데이터들이 여러 개 있을 때 이를 효과적으로 관리하는 데 사용하는 자료구조를 알아보려고합니다.

 

여러가지 자료구조들이 있는데 가장 많이 사용되는 리스트, 튜플, 딕셔너리에 대해서 알아볼까합니다.

 

1.LIST(리스트)

리스트는 순서가 있는 수정가능한 값들의 나열이라고 생각하시면 될것같습니다. 

list는 [ ] 로 이루어져있고 , 로 구분이 되어있습니다. 일반적인 c나 java와는 다르게 중괄호 대신 대괄호를 사용합니다.

 

 

List

이런식으로 a_list 에는 0 , 1 ,2 ,3 이라는 값들이 나열되어서 구성되어있습니다.

그리고 b_list에는 apple, tomato, grape가 들어가있네요.  되게 간단하면서 깔끔한거 같아요.

 

리스트에서 사용하는 여러가지 메소드들이 있습니다.

 

-append( 추가 )-

일단 첫번째로 보실 메소드는 append 입니다. 뜻 그대로 추가하다 입니다.

a_list에 4라는 데이터를 추가하겠다 이렇게 생각하시면 됩니다.

 

 

append
결과

 

-remove( 삭제 )-

remove 뜻 그대로 삭제 한다고 생각하시면 됩니다.

리스트 내부에서 만나는 데이터중에 원하는 첫번째 데이터를 삭제합니다.

 

만약에 리스트가 [ 0, 1 , 2 ,3 ,3, 4 ] 로 구성이 되어있을 때에 

 

remove

3이라는 데이터를 remove를 이용해 삭제한다면 결과는 어떻게 될까요? 0,1,2,4 가 될까요?

 

결과

이런식으로 첫번째에 만나게 되는 데이터만 지우고 빠져나오게 됩니다.

이와 같은 중복처리는 밑쪽 파트에있는 set(집합)이라는 자료형을 배울 때 알려드리겠습니다.

 

-insert ( 삽입 )-

리스트 내부에 원하는 위치에 제가 원하는 값을 삽입하는 메소드입니다.

 

insert
결과

-extend( 확장 )-

리스트의 끝에 다른 리스트를 추가해서 확장할수 있습니다.

 

extend

 

결과
+

이런식으로도 연산자를 사용해서 list를 합칠수도있습니다. 

이와같이 sort, reverse ,pop 등등 많은 메소드들이 있지만 이정도만 일단 알아두시면 좋을 것같습니다.

 

 

 

2.튜플(Tuple)

튜플이란 배열( List )처럼 여러 개의 데이터를 열거하여 담아두는 데에 사용합니다. 튜플은 리스트와 다르게 소괄호를 사용합니다. 튜플은 리스트와는 다르게 내부의 값을 변경할 수 없다고 생각하시면 됩니다.

 

 

Tuple

소괄호를 사용해도 되고 생략해도 됩니다. 튜플은 내부에 콤마를 두어 데이터를 구분짓습니다.

 

튜플과 리스트

튜플도 리스트와 마찬가지로 내부의 요소를 구할수 있습니다. 

왜 이렇게 리스트가 지원하는 것이 훨씬 많은데 튜플도 있냐하는 의문점들이 있는데요.

이 의문점은 바로 속도와 공간 차이입니다. 튜플은 리스트에 비해서 조금 더 공간효율적이라 고 생각하면됩니다.

 

굳이 데이터가 변경되지 않고 사용된다고 하면은 굳이 리스트를 사용할 필요가 없는것이죠.

 

 

3.딕셔너리( Dictionary )

딕셔너리는 뜻 단어 그대로 해석하면 사전이라는 뜻입니다. 키 하나와 값 하나가 연관되어 있으며 키를 통해 연관되는 값을 얻을 수 있습니다. 키와 값이 있기 때문에 데이터를 한쌍으로 저장해서 찾고 싶은 부분을 쉽게 빠르게 찾을 수있습니다. 키와 값이 있기 때문에 정렬이 가능합니다.

딕셔너리는 중괄호를 사용합니다. 

 

Dictionary
결과

 

보시면 a_dic[3]을 하면 해당하는 인덱스에 맞는 데이터를 가져오는게 아니라 Key값으로 데이터를 찾아오게 됩니다.

만약 없는 key값을 찾게 되면 오류가 생깁니다.

 

 

Dictionary 내부 튜플,리스트

그리고 이런식으로 딕셔너리 내부에 튜플과 리스트가 존재할수도 있습니다.

 

Dictionary 내부 리스트 append

내부 리스트에도 메소드도 사용가능합니다. 이런식으로도 응용 가능하네요.

 

 

Dictionary 추가
결과

 

 

딕셔너리 안에 딕셔너리도 추가도 할수있고 많은 사용법이 있을 것같습니다. ㅎㅎ 재밌네요. Json 같은 느낌

 

- del( 삭제 )

del문을 사용해 내부에 있는 데이터도 지워줄 수 있습니다.

 

삭제

이와 같이 딕셔너리는 모든 리스트와 튜플들을 같이 사용하며 응용할수 있습니다.

딕셔너리를 실제로 많이 사용한다고합니다.

 

오늘은 여기까지 알아보고 다음번에는 집합자료형과 함수에대해서 들어가보겠습니다. ㅎㅎㅎ

728x90
반응형

'개발 > Python' 카테고리의 다른 글

Python 조건문과 반복문  (0) 2021.03.23
Python 사칙 연산  (0) 2021.03.19
Hello Python  (0) 2021.03.17