ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [코딩도장] day10. 리스트 요소값 조작하기 - index(), count(), reverse(), sort(), sorted, clear()
    IT/파이썬 2020. 8. 22. 22:17

    ■ 들어가기

    - 파이썬 코딩 도장 (남재윤/길벗). 을 공부하며 정리하는 블로그


    ▶ Unit22. 리스트와 튜플 응용하기

         - 22.1 리스트 조작하기

         - 22.2 리스트의 할당과 복사 알아보기

         - 22.3 반복문으로 리스트의 요소를 모두 출력하기

         - 22.4 리스트의 가장 작은 수, 가장 큰 수, 합계 구하기

         - 22.5 리스트 표현식 사용하기

         - 22.6 리스트에 map 사용하기

         - 22.7 튜플 응용하기

     

    >> 22.1 리스트 조작하기 <<

    1. 리스트에서 특정 값의 인덱스 구하기

    - 사용법: index(값)

    - 같은 값이 려거 개인 경우, 처음 찾은 인덱스를 return (가장 작은 인덱스)

    - 존재하지 않는 값을 찾을 경우 Error 발생

    >>> a = [10, 20, 30, 15, 20, 40]
    >>> len(a)
    6
    >>> a[len(a)-1]
    40
    >>> a.index(20)
    1
    >>> a.index(100)
    Traceback (most recent call last):
      File "<pyshell#16>", line 1, in <module>
        a.index(100)
    ValueError: 100 is not in list

    2. 특정 값의 개수 구하기

    - 리스트에서 특정 값의 개수를 구함

    - 사용법: count(값)

    - 존재하지 않는 값을 찾을 경우 0 return

    >>> a = [10, 20, 30, 15, 20, 40]
    >>> len(a)
    6
    >>> a.count(20)
    2
    >>> a.count(100)
    0

    3. 리스트의 순서 뒤집기

    - 리스트의 요소의 순서를 반대로 뒤집기 위한 메서드

    - 사용법: reverse()

    >>> a = [10, 20, 30, 15, 20, 40]
    >>> len(a)
    6
    >>> a.reverse()
    >>> a
    [40, 20, 15, 30, 20, 10]
    >>> a.reverse()
    >>> a
    [10, 20, 30, 15, 20, 40]

    4. 리스트의 요소를 정렬하기

    - 리스트의 요소를 작은 순서대로 정렬(오름차순)하기 위한 메서드

    - 사용법: 

    • sort() 또는 sort(reverse=False) : 리스트의 값을 작은 순서대로 정렬 (오름차순)
    • sort(reverse=True) : 리스트의 값을 큰 순서대로 정렬 (내림차순)
    >>> a = [10, 20, 30, 15, 20, 40]
    >>> a.sort()
    >>> a
    [10, 15, 20, 20, 30, 40]
    >>> a.sort(reverse=True)
    >>> a
    [40, 30, 20, 20, 15, 10]

    - sort메서드와 sorted함수

    • sort : 메서드를 사용한 리스트를 변경
    • sorted : 정렬된 새 리스트를 생성
    >>> a = [10, 20, 30, 15, 20, 40]
    >>> a.sort() # a의 내용을 변경하여 정렬
    >>> a
    [10, 15, 20, 20, 30, 40]
    >>> b = [10, 20, 30, 15, 20, 40]
    >>> sorted(b) # 정렬된 새 리스트를 생성
    [10, 15, 20, 20, 30, 40]
    >>> c = sorted(b)
    >>> c
    [10, 15, 20, 20, 30, 40]

    5. 리스트의 모든 요소 삭제

    - 사용법: clear(), del 리스트[:]

    >>> a = [10, 20, 30]
    >>> a.clear()
    >>> a
    []
    >>> a = [10, 20, 30]
    >>> del a[:]
    >>> a
    []

    6. 리스트를 슬라이스로 조작

    >>> a = [10, 20, 30]
    >>> a[len(a):] = [500]     # a.append(500)과 동일 
    >>> a
    [10, 20, 30, 500]
    >>> a = [10, 20, 30]
    >>> a[len(a):] = [500, 600]     # a.extend([500, 600]) 동일 
    >>> a
    [10, 20, 30, 500, 600]

    7. 리스트가 비어있는지 확인

      1) len 함수로 길이 구하기

    >>> a = [10, 20, 30]
    >>> len(a)
    3
    >>> a.clear()
    >>> len(a)
    0

      2) if 조건문으로 판별하기

    >>> a = [10, 20, 30]
    >>> if a : # 리스트에 내용이 있으면 True
    print('not empty')
    else : # 리스트에 내용이 없는 경우
    print('empty')


    not empty
    >>> a.clear()
    >>> if a:
    print('not empty')
    else :
    print('empty')


    empty

    - 리스트에 요소가 있을 때만 마지막 요소 확인하기

    >>> a = [10, 20, 30]
    >>> a[-1]     # 리스트 마지막 요소 접근 시 인덱스 -1 지정
    30
    >>> a.clear()
    >>> a[-1]
    Traceback (most recent call last):
      File "<pyshell#148>", line 1, in <module>
        a[-1]
    IndexError: list index out of range
    >>> if a :
    print(a[-1])
    else :
    print('list is empty')


    list is empty

    댓글

Designed by Tistory.