본문 바로가기

프로그래밍/Python

파이썬 속성문법_자료형(리스트_1)

1. 리스트란?

    : 여러 개의 데이터를 연속적으로 담아 처리하기 위해 사용하는 자료형이다.

      C언어, 자바와 같은 프로그래밍 언어의 '배열' 기능을 포함하고 있으며 내부적으로는 연결리스트 구조

 

2. 리스트 만들기

    : 리스트는 대괄호([ ])안에 원소를 넣어 초기화하며, 쉼표로 원소를 구분한다. 이때 인덱스(원소를 담는 칸의 번호)는

      0번부터 시작한다.

 

     ex )

     a = [1, 2, 3, 4, 5, 6, 7, 8, 9]

     print(a) // 결과 : [1, 2, 3, 4, 5, 6, 7, 8, 9] 

     print(a[4]) // 결과 : 5

     

     # 빈 리스트 선언방법

     a = list() // 결과 : [ ]

     a = [ ] // 결과 : [ ]

 

     # 크기가 N이고, 모든 값이 0인 1차원 리스트 초기화

     n = 10

     a = [0] * n

     print(a) // 결과 : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

 

3. 리스트의 인덱싱과 슬라이싱

    : 인덱스값을 입력하여 리스트의 특정한 원소에 접근한 것을 인덱싱이라고 한다. 파이썬의 인덱스값은 양수, 음수를 모두 사용할 수 있으며, 음의 정수를 넣으면 원소를 거꾸로 탐색하게 된다.

     ex)

        a = [1, 2, 3, 4, 5, 6, 7, 8, 9]

        print(a[-1]) // 결과 : 9

        print(a[-3]) // 결과 : 7

        a[3] = 7 // print(a) 시 [1, 2, 3, 7, 5, 6, 7, 8, 9]

      

    : 리스트에서 연속적인 원소들을 가져와야 할 때는 슬라이싱(Slicing)을 이용할 수 있다.

      이때는 대괄호 안에 콜론 ( : ) 을 넣어서 시작 인덱스와 (끝 인덱스 -1)로 설정한다.

      ex)

       a = [1, 2, 3, 4, 5, 6, 7, 8, 9]

       print(a[1:4]) // 결과 : [2, 3, 4]

 

 4. 리스트 컴프리헨션(List Comprehension) 

     :  리스트 컴프리헨션은 리스트를 초기화하는 방법 중 하나이다. 리스트 컴프리헨션을 이용하면 대괄호([]) 안에 

       조건문과 반복문을 넣는 방식으로 리스트를 초기화할 수 있다.

       ex)

       0부터 19까지의 수 중에서 홀수만 포함하는 리스트

       array = [ i for i in range(20) if i % 2 == 1] // i를 넣을 것인데, i의 범위는 0부터 20이며, i를 2로 나눈 나머지 1

       print (array) // [ 1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

 

       참고로 리스트 컴프리헨션이 아닌 일반적인 선언은 다음과 같이 표현할 수 있다.

       array = [] // 빈 리스트 선언

       for i in range(20) : // 반복문인데 i를 따로 선언 안해줘서 0부터 시작한다

            if i % 2 == 1 :  // %는 mod연산으로 나머지를 구해준다.

               array.append(i) // python에 있는 함수. append()는 리스트에 원소를 하나 삽입할 때 사용한다. (편해!)

       print(array)

 

       ex)

       1부터 9까지의 제곱 수를 리스트에 넣어주려고 한다. 리스트 컴프리헨션으로 표현해보자.

       array = [ i * i for i in range(1, 10) ] // if문은 따로 넣어주지않았으며 range()에서 1, 10을 통해 1~10

       print(array) // [ 1, 4, 9, 16, 26, 36, 49, 64, 81]

 

       ※ 이러한 리스트 컴프리헨션은 2차원 리스트를 초기화할 때 매우 효과적으로 사용될 수 있다.

 

 

    

※ 참고자료

   이것이 취업을 위한 코딩 테스트다 with 파이썬_ 나동빈