프로젝트형 IoT 서비스 개발 4회차/1. 인터페이스 개발

[Day5] 2022-01-28(금) 파이썬 기본3, 4 - 자료구조(리스트) - 김서연 강사님

powerstone 2022. 2. 12. 15:22
728x90

[1] 자료구조

    - 자료구조 : 데이터를 저장하기 위해 제공되는 구조

    - 파이썬의 자료구조는 리스트, 튜플, 딕셔너리, 집합이 있다.

    - 리스트와 튜플은 데이터에 순서가 있다.

    - 자료구조에 저장된 자료의 순서를 찾을 수 있고 접근할 수 있다.(인덱싱)

    - 전체 자료를 부분적으로 잘라서 접근할 수 있다.(슬라이싱)

    (1) 리스트(list) : [ ] 

----------------------------이상 어제 수업-----------------------------------------

    (1) 리스트(list) : [ ] 

        - 리스트에 요소 추가하기 : 리스트명.append(추가할 요소)

        4) list의 인덱싱(indexing)

            - 리스트에 저장된 자료의 위치를 참조해서 활용할 수 있다.

            - 리스트, 튜플, 문자열 등은 한 요소씩 인덱스를 가지고 0부터 접근할 수 있다.

            - 역순으로도 접근이 가능하다.

            - 리스트, 튜플, 문자열 등은 리스트명[index]로 접근이 가능하다는 의미

            - 음수 값으로도 접근 가능 : index는 맨 뒤에서부터 -1 -2 -3....

        5) list의 슬라이싱(slicing)

            - 특정 구간의 자료를 리턴하는 기능을 제공

            - 적용 방법

                -> 리스트명[start index:end index:step]

                -> 위와 같은 문법으로 접근하면 리스트에서 해당 범위에 맞는 값을 잘라서 리턴

                -> list1[4:10:1] => 4번 index부터 9번 index의 요소를 리턴

            - 슬라이싱할 때 []연산자 이용

            - start index 생략하면 처음부터 읽는다.

            - end index 생략하면 리스트의 끝까지 읽는다.

                [구문 예시]

                리스트명[n] => 리스트에서 n번 index 요소 리턴

                리스트명[n:m] => 리스트의 요소 중 n번 index 부터 m-1번 index까지 하나씩 리턴

                리스트명[:n] => 처음(0)부터 n-1번 index 요소 리턴

                리스트명[n:] => n번 index부터 마지막 index 요소 리턴

                리스트명[:] => 전체 요소를 리턴

                리스트명[::n] => 처음부터 끝까지 n만큼 증가시키면서 요소를 리턴

                                        n이 양수면 앞에서부터 요소를 슬라이싱

                                        n이 음수면 뒤에서부터 요소를 슬라이싱

        6) 리스트의 값을 변경

            - index를 이용해서 지정한 위치의 요소 값을 변경할 수 있다.

                리스트[index] = 변경할 값

                    --> index에 슬라이싱 적용 가능, 변경할 값도 여러 개 값으로 수정하거나 새

                           로운 리스트를 추가해서 적용 가능

            - 슬라이싱 적용

                리스트[n:m] = 값

        7) 리스트의 연산 : +, * 활용

        8) 리스트관리함수

            - append : 리스트 맨 뒤에 요소를 추가

                리스트명.append(값)

            - del : 리스트에서 해당 위치의 요소를 제거

                del(리스트명[index]) => index 슬라이싱 가능

            - len : 리스트의 전체 요소의 길이를 리턴

                len(리스트명)

            - count : 리스트에서 지정한 값의 갖고 있는 요소의 갯수를 리턴

                리스트명.count(값)

            - index : 지정한 값이 위치하는 리스트의 index를 리턴

                리스트명.index(값)

            - pop : 리스트의 맨 뒤의 항목을 빼서 리턴하며 리스트에서 항목을 삭제

                리스트.pop()

            - insert : 지정한 위치에 값을 삽입

                리스트.insert(index, 값)

            - remove : 리스트에서 지정한 값을 삭제

                리스트.remove(값)

            - sort : 리스트 항목을 정렬 (반환 값 없음)

                리스트.sort() : 오름차순

                리스트.sort(reverse=True) : 내림차순

            - sorted : 리스트 항목을 정렬 (정렬된 리스트를 반환)

                sorted(리스트) : 오름차순

                sorted(리스트, reverse=True) : 내림차순

        9) 중첩리스트(이차원리스트)

            - 요소 접근 => 리스트[index1][index2]

-----------------------이하 다음 수업-------------------------

    (2) 튜플(tuple) : ( )

        - 순서가 있는 데이터구조

        - 인덱싱과 슬라이싱 가능

        - 저장된 데이터의 수정이 불가능

    (3) 딕셔너리(dictionary) : { }

        - 키와 value 한 쌍으로 데이터를 저장

        - 순서를 가지고 있지 않다.

        - 인덱싱과 슬라이싱이 불가능

728x90