ABOUT ME

Today
Yesterday
Total
  • 자료형에 따른 활용법(함수 등) - 리스트
    파이썬 2020. 7. 1. 02:52

    1. 리스트를 만드는 법

    [ ]를 이용한다. 각 요소는 쉼표( , )를 이용하여 구분해준다. 리스트는 자신의 순서값을 가질 수 있으며, 어떤 형태든 저장이 가능하다.

     

     

    2. 리스트 인덱싱과 슬라이싱

    리스트도 문자열과 같이 인덱싱과 슬라이싱이 가능하다. 문자열의 경우 인덱싱을 실시할 경우 리스트의 첫 번째 값은 인덱싱 넘버 0부터 시작한다. 예를 들어 a=[5,4,3,2,1,]일 경우 a에서 5는 a[0]의 값을 갖는다.

     

    슬라이싱의 경우 처음부터 끝까지 표현할 수도 있고 중간부터 잘라서 표현할 수 있다. 예를 들어 a=[5,4,3,2,1]일때 a[1:3]은 4,3를 가리키며, a[:2]는 5,4를 a[2:]는 3,2,1을 의미한다.

     

    ※ 슬라이싱 주의 사

     슬라이싱을 할 땐 숫자를 인덱스 형식으로 세어준다. 예를 들면 다음과 같다.

    >>> a = [1,2,3,4,5]
    
    >>> a[0] = 1
    >>> a[1] = 2
    >>> a[2] = 3
    >>> a[3] = 4
    >>> a[4] = 5

    하지만 슬라이싱을 할 때는 슬라이싱의 뒤에 오는 숫자에서 -1을 한 인덱스넘버가 해당 결과값의 마지막에 온다. 예를 들면 다음과 같다.

    >>> a = [2,3,4,5,6]
    
    >>> a[0:3]
    2,3,4     #슬라이싱해준 최종 숫자에서 -1을 한 인덱스 넘버가 결과값의 끝에 온다.
              #즉 a[0:3]은 인덱스 넘버 0,1,2를 결과값으로 나왔다. 
    
    >>> a[0:4] #슬라이싱 a[0:4]다. 하지만 결과값은 여기서 -1을하고 이것을 인덱스에 반영한다.
    2,3,4,5    #인덱스 넘버 0,1,2,3 값인 2,3,4,5가 결과값으로 나왔다.
    
    >>> a[0:5] #슬라이싱 a[0:5]다. 하지만 결과값은 여기서 -1을 하고 이것을 인덱스에 반영한다.
    1,2,3,4,5  #인덱스 넘버 0,1,2,3 값인 2,3,4,5가 결과값으로 나왔다.

     

    3. 리스트의 연산

    리스트를 더해주거나 곱해줄 땐 그냥 일반적인 더하기 곱하기 방식을 사용하면 된다. 다만 리스트 내 문자열을 숫자와 합치려고하면 오류가 나기 때문에 그럴 때는 숫자를 문자열로 바꾸어 문자열과 합해주면 된다.

     

     

    4. 리스트 관련 함수

    리스트 갯수 구하기 : len(x)

    리스트 내 요소들의 갯수를 세어준다.

    >>> a = [1,2,3,4,5]
    >>> len(a)
    5

     

    리스트에 포함된 요소 세기 : x.count( y )

    리스트 안에 해당 숫자가 몇 개가 있는지 세어준다.

    >>> a = [1,2,3,3,4,5]
    >>> a.count(3)
    2
    
    >>> a = [1,2,3,3,4,5]
    >>> a.count(5)
    1

     

    리스트의 위치 반환 : x.index( y )

    변수가 되는 리스트 내에서 y에 맞는 인덱스 넘버를 돌려준다.

    >>> a = [1,2,3,4,5]
    >>> a.index(4)
    3
    
    >>> a = [3,4,5,6,7]
    >>> a.index(7)
    4

     

    리스트 마지막에 요소 값 추가 : x.append( y )

    리스트의 마지막 부분에 값을 추가해준다.

    * 리스트에는 정수값(int)를 추가하는 것이 기본이지만 리스트의 추가도 가능하다.

    >>> a = [1,2,3]
    >>> a.append(4)
    [1,2,3,4]
    
    >>> a = [1,2,3]
    >>> a.append([4, 5])
    [1,2,3, [4, 5]]

     

    리스트의 원하는 위치에 요소 값 추가 : x.insert( y, z )

    append와 달리 리스트 내에서 원하는 위치에 요소 값을 추가해준다.

    * y는 원하는 위치, z는 넣고자 하는 요소

    >>> a = [1,2,4,5]
    >>> a.insert(2, 3)
    [1,2,3,4,5]

     

    리스트에 리스트 추가하기 : x.extend( y )

    리스트에 대량으로 리스트를 추가할 수 있다.

    * extend 함수에서 y자리에는 리스트만 추가가 가능하다.

    >> a = [1,2,3,4,5]
    >>> a.extend([6,7])
    [1,2,3,4,5,6,7]

     

    리스트 요소 값 순서대로 정렬하기 : x.sort( )

    리스트 내의 요소값을 순서대로 정렬해준다.

    >>> a = [3,1,4,2,5]
    >>> a.sort()
    [1,2,3,4,5]

     

    리스트 요소 값 역으로 정렬하기 : x.reverse( )

    * reverse함수는 요소값을 별도로 순서대로 정리해서 역순으로 뒤집는게 아니라 현재 상태에서 역순으로 뒤집는 것이다.

    >>> a = ['c', 'a', 'b']
    >>> a.reverse()
    ['b', 'a', 'c']

     

    리스트 요소 제거 : x.remove( y )

    리스트 내에서 삭제하길 원하는 숫자를 입력하면 삭제해준다.

    * 리스트 내에 같은 숫자가 여러개가 있을 경우 리스트 내 첫 번째 나오는 숫자를 삭제한다.

    >>> a = [1,2,3,1,2,3]
    >>> a.remove(3)
    [1,2,1,2,3]

     

    리스트 요소 값 삭제하기 : del x [ y ]

    * del은 remove와 다르게 삭제하고 싶은 값을 지정하는게 아니다.

    * 삭제하고자 하는 값의 인덱스 위치를 입력하면 해당 인덱스 위치의 숫자가 삭제된다.

    >>> a = [1,2,3,4,5]
    >>> del a[0]
    [2,3,4,5]
    
    >>> a = [1,2,3,4,5]
    >>> del a[2:]
    [1,2]

     

    리스트 요소 끄집어 내기 : x.pop( y )

     

    * x.pop()는 해당 리스트의 마지막 요소를 꺼내서 출력 후 리스트 내에서 삭제한다.

    >>> a = [1,2,3,4,5]
    >>> a.pop()
    5
    >>> a
    [1,2,3,4]

     

    * x.pop(y)는 해당 리스트에서 y위치에 있는 요소를 꺼내서 출력 후 삭제한다.

    * y위치는 인덱스 넘버로 입력해줘야 한다.

    >>> a = [1,2,3,4,5]
    >>> a.pop(3)
    4
    >>> a
    [1,2,3,5]

     

    리스트 요소 끄집어 내기 : enumerate ( x )

    * enumerate는 읽어내는 리스트, 튜플 등 요소를 인덱스 값과 그 요소를 돌려준다.

    >>> color = ["red", "green", "blue"]
    >>> for i, value in enumerate(color):
    ...     print(i, ":", value)
    ...
    0 : red
    1 : greend
    2 : blue
Designed by Tistory.