본문 바로가기
Python

[Python] append(),extend(),insert()차이 / 결과 값 비교

by 고체물리학 2021. 9. 11.

파이썬에서 list 함수를 추가할 때 사용하는 append, extend, insert 함수에 대해 정리

 

1. append()

사용법: list.append(추가항목)

- 리스트의 마지막에 추가된다

 

ex1) int형 6 추가

class Test:

    def __init__(self):
        data = [1, 2, 3, 4, 5]
        print("Original:   ",data)
        data.append(6)
        print("append  :   ",data)

if __name__ == '__main__':
    Test()

결과)

ex2) 문자열 'a'추가

class Test:

    def __init__(self):
        data = [1, 2, 3, 4, 5]
        print("Original:   ",data)
        data.append('a')
        print("append  :   ",data)

if __name__ == '__main__':
    Test()

결과)

ex3) list 6 추가

class Test:

    def __init__(self):
        data = [1, 2, 3, 4, 5]
        print("Original:   ",data)
        data.append([6])
        print("append  :   ",data)

if __name__ == '__main__':
    Test()

결과) 리스트 형이 추가됨


 

2. extend()

사용법: list.append([list])

-리스트와 튜플만 추가 가능

-리스트의 마지막에 추가된다

 

ex1) int형 6 추가(x)

class Test:

    def __init__(self):
        data = [1, 2, 3, 4, 5]
        print("Original:   ",data)
        data.extend(6)
        print("extend  :   ",data)

if __name__ == '__main__':
    Test()

결과) TypeError: 'int' object is not iterable

interable은 하나씩 차례로 반환 가능한 object인 list, tuple이 있다

 

ex2) list 6 추가

class Test:

    def __init__(self):
        data = [1, 2, 3, 4, 5]
        print("Original:   ",data)
        data.extend([6])
        print("extend  :   ",data)

if __name__ == '__main__':
    Test()

 


3. insert(index, object)

사용법: list.insert(추가할 항목 위치, 추가 항목)

- list는 첫 번째 위치가 0부터 시작

- append, extend와 달리 원하는 위치에 항목을 추가할 수 있다

 

ex1) int형 6 추가

class Test:

    def __init__(self):
        data = [1, 2, 3, 4, 5]
        print("Original:   ",data)
        data.insert(5,6)
        print("insert  :   ",data)

if __name__ == '__main__':
    Test()

결과) 

 

ex2) 문자열 'a' 추가

class Test:

    def __init__(self):
        data = [1, 2, 3, 4, 5]
        print("Original:   ",data)
        data.insert(5,'a')
        print("insert  :   ",data)

if __name__ == '__main__':
    Test()

 

ex3) list 6 추가

class Test:

    def __init__(self):
        data = [1, 2, 3, 4, 5]
        print("Original:   ",data)
        data.insert(5,[6])
        print("insert  :   ",data)

if __name__ == '__main__':
    Test()

 

ex4) list의 마지막 원소 첫 번째 원소에 추가

class Test:

    def __init__(self):
        data = [1, 2, 3, 4, 5]
        print("Original:   ",data)
        data.insert(0,data[-1])
        print("append  :   ",data)

if __name__ == '__main__':
    Test()

 

결과) list[-1]은 마지막 원소를 가리키므로 마지막 원소 5가 첫 번째로 추가된 걸 확인할 수 있다

 

 

반응형

댓글