ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Chapter 02-3 리스트 자료형_2. (리스트의 수정과 삭제, 관련 함수)
    Do it! 점프 투 파이썬 2022. 6. 3. 16:00

    리스트의 수정과 삭제

    리스트는 값을 수정하거나 삭제할 수 있다.

     

    리스트에서 값 수정하기

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

    a[2]의 요솟값 3이 4로 바뀌었다.

     

     

    del 함수 사용해 리스트 요소 삭제하기

    >>> a = [1, 2, 3]
    >>> del a[1]
    >>> a
    [1, 3]

    del a[x]는 x번째 요솟값을 삭제한다. 여기에서는 a 리스트에서 a[1]을 삭제하는 방법을 보여준다. del 함수는 파이썬이 자체적으로 가지고 있는 삭제 함수이며 다음과 같이 사용한다.

    del 객체

    다음처럼 슬라이싱 기법을 사용하여 리스트의 요소 여러 개를 한꺼번에 삭제할 수도 있다.

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

    a[2:]에 해당하는 리스트의 요소들이 삭제되었다.

    리스트의 요소를 삭제하는 방법에는 2가지가 더 있다. 그것은 리스트의 romove와 pop 함수를 사용하는 방법인데 이것에 대해서는 바로 이어지는 리스트 관련 함수에서 설명한다.

     

     

     

     

    리스트 관련 함수

    문자열과 마찬가지로 리스트 변수 이름 뒤에 '.'를 붙여서 여러 가지 리스트 관련 함수를 사용할 수 있다. 유용하게 사용되는 리스트 관련 함수 몇 가지에 대해서만 알아보기로 하자.

     

    리스트에 요소 추가(append)

    append를 사전에서 검색해 보면 '덧붙이다, 첨부하다'라는 뜻이 있다. 이 뜻을 안다면 다음 예가 바로 이해될 것이다. append(x)는 리스트의 맨 마지막에 x를 추가하는 함수이다.

    >>> a = [1, 2, 3]
    >>> a.append(4)   <- 리스트의 맨 마지막에 4를 추가
    >>> a
    [1, 2, 3, 4]

    리스트 안에는 어떤 자료형도 추가할 수 있다.

     

    다음 예는 리스트에 다시 리스트를 추가한 결과이다.

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

    문자 역시 알파벳 순서로 정렬할 수 있다.

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

     

     

    리스트 뒤집기(reverse)

    reverse 함수는 리스트를 역순으로 뒤집어 준다. 이때 리스트 요소들을 순서대로 정렬한 다음 다시 역순으로 정렬하는 것이 아니라 그저 현재의 리스트를 그대로 거꾸로 뒤집는다.

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

     

     

    위치 반환(index)

    index(x) 함수는 리스트에 x 값이 있으면 x의 위치 값을 돌려준다.

    >>> a = [1, 2, 3]
    >>> a.index(3)   <-3은 리스트 a의 세 번째(a[2]) 요소
    2
    >>> a.index(1)   <- 1은 리스트 a의 첫 번째(a[0]) 요소
    0

    위 예에서 리스트 a에 있는 숫자 3의 위치는 a[2]이므로 2를 돌려주고, 숫자 1의 위치는 a[0]이므로 0을 돌려준다.

     

    다음 예에서 값 0은 a 리스트에 존재하지 않기 때문에 값 오류(ValueError)가 발생한다.

    >>> a.index(0)
    Traceback (most recent call last):
        File "<stdin>", line 1, in <module>   <- 오류 메시지
    ValueError: 0 is not in list

     

     

    리스트에 요소 삽입(insert)

    insert(a, b)는 리스트의 a번째 위치에 b를 삽입하는 함수이다. 파이썬에서는 숫자를 0부터 센다는 것을 반드시 기억하자.

    >>> a = [1, 2, 3]
    >>> a.insert(0, 4)   <- a[0] 위치에 4 삽입
    [4, 1, 2, 3]

    위 예는 0번째 자리, 즉 첫 번째 요소(a[0]) 위치에 값 4를 삽입하라는 뜻이다.

    >>> a.insert(3, 5)   <- a[3] 위치에 5 삽입
    [4, 1, 2, 5, 3]

    위 예는 리스트 a의 a[3], 즉 네 번째 요소 위치에 값 5를 삽입하라는 뜻이다.

     

     

    리스트 요소 제거(remove)

    remove(x)는 리스트에서 첫 번째로 나오는 x를 삭제하는 함수이다.

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

    a가 3이라는 값을 2개 가지고 있을 경우 첫 번째 3만 제거되는 것을 알 수 있다.

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

    remove(3)을 한 번 더 실행하면 다시 3이 삭제된다.

     

     

    리스트 요소 끄집어내기(pop)

    pop( )은 리스트의 맨 마지막 요소를 돌려주고 그 요소는 삭제한다.

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

    a 리스트 [1, 2, 3]에서 3을 끄집어내고 최종적으로 [1, 2]만 남는 것을 볼 수 있다.

     

    pop(x)는 리스트의 x번째 요소를 돌려주고 그 요소는 삭제한다.

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

    a.pop(1)은 a[1]의 값을 끄집어낸다. 다시 a를 출력해 보면 끄집어낸 값이 삭제된 것을 확인할 수 있다.

     

     

    리스트에 포함된 요소 x의 개수 세기(count)

    count(x)는 리스트 안에 x가 몇 개 있는지 조사하여 그 개수를 돌려주는 함 수이다.

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

    1이라는 값이 리스트 a에 2개 들어 있으므로 2를 돌려준다.

     

     

    리스트 확장(extend)

    extend(x)에서 x에는 리스트만 올 수 있으며 원래의 a 리스트에 x 리스트를 더하게 된다.

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

    a.extend([4, 5])는 a += [4, 5]와 동일하다.

     

     

     

     

     

    출처 : "점프 투 파이썬"

Designed by Tistory.