ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] 리스트
    파이썬 2022. 1. 10. 22:11

     

    • 리스트(List) : 순서대로 저장하는 시퀀스, 변경 가능한 목록(Mutable List)

    1. 리스트 활용

    """
    리스트의 선언
    """
    a=list()
    a=[]
    """
    append()를 통해 요소 삽입 가능
    """
    a=[1,2,3]
    a.append(4) # 리스트의 맨 마지막에 요소 4 삽입
    print(a)
    [결과]
    [1, 2, 3, 4]
    """
    insert()함수는 리스트의 특정 index를 지정하여 요소를 추가할 수 있음
    """
    a.insert(2,10) # index=2에 요소 10을 삽입
    print(a)
    [결과]
    [1, 2, 10, 3, 4]
    """
    리스트는 다양한 자료형의 요소들을 관리할 수 있음
    """
    a.append('Hello') # 문자열 
    a.append(False) # 불린형
    print(a)
    [결과]
    [1, 2, 10, 3, 4, 'Hello', False]
    """
    리스트 요소에 접근할 때는 index 사용
    """
    print(a[2]) # index=2 요소 출력
    [결과]
    10
    """
    슬라이싱(':')을 통해 범위를 설정할 수 있음
    (시작과 끝의 index 생략 가능)
    """
    print(a[1:3]) # index=1 ~ index=2
    print(a[:3]) # index=0 ~ index=2
    [결과]
    [2, 10]
    [1, 2, 10]
    """
    범위 밖 index 설정 시 오류(Index Error)
    """
    print(a[10]) # 리스트 범위 밖 index 출력
    [결과]
    Traceback (most recent call last):
      File "    ", line 15, in <module>
        print(a[10])
    IndexError: list index out of range
    """
    리스트 요소의 삭제는 
    	1. index로 삭제(del)
        2. 요소 값으로 삭제(remove())
    """
    print('original:',a)
    del a[2] # 리스트 a의 index=2 요소 삭제
    print('after delete index=2:',a)
    a.remove(4) # 리스트 a의 요소 4 삭제 
    print('after delete value=4:',a)
    [결과]
    original: [1, 2, 10, 3, 4, 'Hello', False]
    after delete index=2: [1, 2, 3, 4, 'Hello', False]
    after delete value=4: [1, 2, 3, 'Hello', False]
    """
    pop(index) 함수는 c에서의 스택(stack)의 pop 연산과 같음
    삭제될 값을 반환 후 삭제
    """
    print(a.pop(3)) # 리스트 a의 index=3 요소 출력 후 삭제
    print(a)
    [결과]
    Hello
    [1, 2, 3, False]

    2. 리스트의 특징

    • 파이썬은 모든 것이 객체이며, 파이썬의 리스트는 이들 객체에 대한 포인터 목록을 관리하는 형태로 구현되어 있음.
    • 이로 인해 파이썬의 리스트는 배열과 연결 리스트를 합친 듯한 기능을 가짐.
    • 리스트는 제각기 다양한 타입을 동시에 관리할 수 있어 이들은 연속된 메모리 공간에 할당되어 있지 않음.
    • 각각의 객체에 대해서 참조로 구현되어 있을 뿐.

    '파이썬' 카테고리의 다른 글

    [이코테] 1이 될 때까지  (0) 2022.01.18
    [리트코드] 937 _ 로그 파일 재정렬  (0) 2022.01.12
    [리트코드] 125 _ 유효한 팰린드롬  (0) 2022.01.12

    댓글

Designed by Tistory.