자료형 - 리스트 자료형

insuzy·2021년 8월 8일

파이썬 자료형

목록 보기
3/4
post-thumbnail

📌 리스트 자료형

여러개의 데이터를 연속적으로 담아 처리하기 위해 사용하는 자료형. 리스트 대신에 배열 혹은 테이블이라고 부른다.

🔗 리스트 초기화

대괄호([])안에 원소를 넣어 초기화하며 쉼표(,)로 원소를 구분

  • 비어있는 리스트를 선언할 때는 list() or []로 초기화
  • 리스트 원소 접근은 인덱스(index) 값을 괄호에 넣는다. (인덱스는 0부터 시작)
ex)크기가 N이고 모든 값이 01차원 리스트 초기화
n=10;
a=[0] * n
print(a)
# 출력 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

🔗 리스트 인덱싱(Indexing)

인덱스 값을 입력하여 특정한 원소에 접근하는 것을 인덱싱이라고 한다.

  • 파이썬의 인덱스 값은 양의 정수, 음의 정수 모두 사용 가능
  • 음의 정수를 넣으면 원소를 거꾸로 탐색
a=[1,2,3];
print(a[0]);
# 출력 1
print(a[-1]);
# 출력 3

🔗 슬라이싱(Slicing)

리스트에서 연속적인 위치를 갖는 원소들을 가져와야 할 때는 슬라이싱을 사용한다. 대괄호 안에 클론(:)을 넣어서 시작 인덱스와 끝 인덱스설정한다. 주의! 끝 인덱스는 실제 인덱스보다 1을 더 크게 설정

a=[1,2,3,4,5];
print(a[1:3]);
# 출력 2,3

🔗 리스트 컴프리헨션(Comprehension)

리스트를 초기화하는 방법 중 하나. 대괄호 안에 조건문과 반복문을 적용하여 리스트를 초기화. 2차원 리스트를 초기화 할때 효과적으로 사용

  • NxM 크기의 2차원 리스트를 한번에 초기화 해야할 때 유용함.
# 좋은 예
a=[[0]*m for _ in range(n)]
# 나쁜 예
# 전체 리스트 안에 포함된 각 리스트가 모두 같은 객체로 인식
a = [[0] * m] * n

🔗 언더바(_)는 언제 사용?

반복을 수행하되 변수의 값을 무시하고자 할 때 언더바를 사용.

🔗 리스트 관련 기타 메서드

a = [1, 2, 3];
  • append
    • a.append()
    • 원소 하나 삽입할 때 사용
    • 시간 복잡도 O(1)
    a.append(4);
    print(a);
    # [1, 2, 3, 4]
  • sort()
    • a.sort(), a.sort(reverse=True)
    • 정렬 기능
    • 기본은 오름차순
    • 오름차순 시간 복잡도 O(NlogN)
    • 내림차순 시간 복잡도 O(N)
    print(a);
    # [1, 2, 3, 4];
    print(a.sort(reverse=True);
    # [4, 3, 2, 1]
  • reverse()
    • a.reverse()
    • 원소 순서 뒤집기
    • 시간 복잡도 O(N)
    a = [4, 3, 2, 1];
    a.reverse();
    print(a);
    # [1, 2, 3, 4]
  • insert()
    • insert(삽입할 위치 인덱스, 삽입할 값)
    • 특정 위치에 원소 삽입
    • 시간 복잡도 O(N)
    a.insert(2, 2);
    print(a);
    # [1, 2, 2, 3, 4]
  • count()
    • a.count(특정값)
    • 특정 값 데이터 개수
    • 시간 복잡도 O(N)
    print(a);
    # [1, 2, 2, 3, 4];
    print(a.count(2));
    # 2
  • remove()
    • a.remove(특정값)
    • 특정한 값 원소제거
    • 시간 복잡도 O(N)
    a.remove(2);
    print(a);
    # [1, 3, 4];

.


출처 : https://www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC

profile
UI Developer. publisher

0개의 댓글