본문 바로가기
작업/Programming

파이썬(python) 배열(list) 함수 연습

 

 

 

 

이전 글에서는 파이썬에서 사용하는 배열 구조인 리스트(list)와 튜플(tuple)을 정리했습니다.

이번 글에서는 파이썬의 리스트에서 주로 사용되는 함수들을 다루었습니다.

리스트와 튜플에 대한 설명을 참고하시려면 아래 링크를 이용하세요!

 

 

파이썬(python) 배열 연습 (list, tuple)

 

파이썬(python) 배열 연습 (list, tuple)

리스트(list)와 튜플(tuple)은 파이썬에서 배열로 사용하는 자료 형태입니다. 2가지로 사용하는 이유는 특징이 서로 다르기 때문입니다. """ list는 값을 한 번 저장한 다음에 수정(추가, 삭제, 변경

zifmfmphantom.tistory.com

 

 

INDEX ( 해당 링크로 이동 ) 

★ 값 생성, 범위 ( range )

★ 값 추가 ( append, insert )

★ 값 삭제 ( pop, remove, del, clear )

★ 인덱스 ( index )

★ 값 및 배치 수정 ( reverse, sort, extend )

★ 새 리스트 저장 ( copy, sorted )

★ 원소 개수 세기 ( count, len )

 

 

 


 

 

 

값 생성 ( range )

 

 

range() 함수는 function 형태로 독립적인 사용을 합니다.

 

range( 시작 값, 마지막으로 접근할 값의 다음 값, 증감수 )

 

시작 값: range의 첫 값 ( 기본값 = 0 )

마지막으로 접근할 값의 다음 값: 6으로 지정했을 경우 5까지만 다룹니다.

증감수: 다음 값은 얼마나 더하고 뺀 값인지에 대한 명시. ( 기본값 = 1 )

 

 

 

range(1, 5)는 1부터 4의 값을 다루겠다는 의미입니다.  = range(1, 5, 1)

기본 값이 존재하는 파라미터는 명시가 되지 않아도 상관없습니다.

그래서 range(5)는 range(0, 5, 1)과 같습니다.

 

 

range() 함수의 예시로 다음 코드를 확인해 보겠습니다.

 

 

 

range() 함수 출력 결과

 

    list_a = list(range(5))

    -> range(0, 5, 1)에 해당하는 0, 1, 2, 3, 4의 값을 list 형태로 list_a에 저장합니다.
        print(list_a)로 값을 출력해보면 [ 0, 1, 2, 3, 4 ] 값을 확인할 수 있습니다.

 

    range(-1, -6, -1)
    -> -1부터 -5까지 -1씩 계산하여 처리합니다.   -1, -2, -3, -4, -5의 값을 다룹니다.


    for i in range(-1, -6, -1):
        print(f'현재 i의 값 = {i}, 배열 값 = {list_a[i]}')

  -> list_a의 -1번 인덱스부터 -5번 인덱스까지의 값을 추출합니다.       
        이는 list_a의 원소를 역순으로 출력하는 것과 같습니다.

 

    range(1, 21, 2)


-> 1에서 시작하며 2씩 증가하여 20까지의 값을 다룹니다.
        1, 3, 5, 7, 9, 11, ... 19까지의 값을 다룹니다.

 

 

range()는 범용적으로 사용할 수 있기 때문에 알아두면 좋습니다.

소개를 위해서 값 생성이라는 주제로 포함했습니다.

 

 

 

 


 

 

값 추가 ( append, insert )

 

 

리스트에 값을 추가하는 append와 insert 함수는 모두 method 형태입니다.

따라서 리스트 객체.append(), 리스트 객체.insert() 형태로 사용해야 합니다.

 

 

append() 함수는 새로운 값을 리스트의 마지막 인덱스 부분에 추가합니다.

insert()는 지정한(의도한) 인덱스 위치에 값을 추가할 때 사용합니다.

 

리스트.append( 추가할 값 )
리스트.insert( 인덱스, 추가할 값 )

 

 

 

 

 

    list_a.append(15)


    -> 15를 list_a의 마지막 인덱스에 추가합니다.


    list_a.insert(2, 20)


  -> 20을 list_a의 2번 인덱스에 추가합니다.
        2번 인덱스부터 뒤에 있던 값들은 1칸씩 밀려납니다.

 

 

 


 

 

값 삭제 ( pop, remove, del, clear )

 

 

del() 함수는 function 형태, pop(), remove(), clear() 함수는 method 형태입니다.

 

리스트.pop()


-> 파라미터가 없는 함수입니다.
    가장 마지막 인덱스에 있는 원소를 추출한 다음 삭제합니다.

 

리스트.remove( 삭제할 값 )


-> 파라미터로 입력한 값을 삭제합니다.
    같은 값이 존재할 때, 가장 앞 인덱스에 있는 값 1개만 삭제됩니다.

 

리스트.clear()


-> 파라미터가 없는 함수입니다.
    리스트에 있는 모든 원소를 삭제합니다.  -> None

 

del(리스트[인덱스])


-> 해당 리스트의 인덱스에 포함된 값을 삭제합니다.

 

 

 

pop_value = list_a.pop()

    -> list_a의 마지막 인덱스에 있던 값을 pop_value에 저장합니다.
        list_a의 마지막 인덱스에 있던 값은 삭제됩니다.


    list_a.remove(20)

    -> list_a에 저장된 20을 삭제합니다.


    del(list_a[3])

    -> list_a의 3번 인덱스에 존재하는 값을 삭제합니다.


    clear_list.clear()

    -> clear_list에 있는 모든 원소를 삭제합니다.  None

 

 

 

 


 

 

인덱스 ( index )

 

 

index() 함수는 리스트의 특정 값이 어디에 존재하는지 알아낼 때 사용합니다.

만약 존재하지 않는 값을 검색하려 한다면 오류가 나타납니다.

 

리스트.index( 검색 값 )

 

 

 

 


 

 

 

값 및 배치 수정 ( reverse, sort, extend )

 

 

모두 method 형태의 함수입니다.

 

 

리스트.reverse()

-> 파라미터가 없는 함수입니다.
    리스트에 저장된 원소들을 역순으로 재배치합니다.

 

리스트.sort()

-> 파라미터가 없는 함수입니다.
    리스트에 저장된 원소들을 오름차순으로 재배치합니다.

 

리스트A.extend( 이어붙일 리스트B )

-> 리스트A의 마지막 인덱스 부분에 리스트B에 해당하는 원소를 이어 붙입니다.

 

 

 

값이 추가되어 정렬되지 않은 list_a를 sort() 함수를 통해 오름차순으로 정렬했고,

reverse() 함수를 사용하여 역순으로 재배치했습니다.

 

마지막으로 [ 11, 22, 33 ]의 원소를 가지는 list_b를 extend() 함수를 사용하여 붙였습니다.

 

extend() 함수를 사용하지 않고 "리스트A + 리스트B"식을 사용해도 같은 결과를 얻을 수 있습니다. 

 

 

 


 

 

새 리스트 저장 ( copy, sorted )

 

 

새 리스트A = 리스트B.copy()

-> 파라미터가 없는 함수입니다.
    새 리스트A는 리스트B의 원소를 그대로 복사하여 저장합니다.

 

새 리스트A = sorted(리스트B)

-> sorted는 function 형태의 함수이며 리스트를 파라미터로 받습니다.
    리스트B의 원소를 오름차순 정렬하여 리스트A에 저장합니다.

 

 

 

 

 


 

 

 

원소 개수 세기 ( count, len )

 

리스트.count( 값 )

-> 리스트에 존재하는 값의 개수를 추출합니다.

 

len( 리스트 )

-> 리스트에 존재하는 모든 원소의 개수를 추출합니다.

 

 

 

 


 

 

배열 (리스트)에서 사용되는 함수들을 정리했습니다.

데이터 처리를 할 때 주로 다루는 것이 배열 객체( 리스트, 튜플, 집합, 딕셔너리 )인 만큼 알아두면 좋다고 생각합니다.

 

 

이상으로 글을 마칩니다.

 

 

 

 

- 끝 -