자료구조 - 리스트(list)

subinii·2024년 3월 27일

DS 25기

목록 보기
10/46

자료구조

  • 자료구조 : 여러 개의 데이터가 묶여있는 자료형을 컨테이너 자료형이라고함
    (컨테이너 자료형의 데이터 구조)
  • 각각의 컨테이너 자료형에 따라서 차이가 있다.
  • 대표적 컨테이너 자료형
    • 리스트[list] - 데이터 변경 가능
    • 튜플(tuple) - 데이터 변경 불가능
    • 딕셔너리{dict} - key : value로 이루어짐
    • 셋트(set) - 중복된 데이터 불허용, 중복된 데이터는 하나로 출력

리스트

  • 리스트 : 배열과 같이 여러 개의 데이터를 나열한 자료구조

  • 선언 : ‘[]’를 이용해 선언

  • 구분 : ‘,’로 데이터 구분

  • 문자열, 숫자, 논리형 등 기본 데이터를 같이 저장 가능

  • 리스트에 또 다른 컨테이너 자료형 데이터 저장 가능

  • 인덱스 : 아이템에 자동으로 부여되는 번호표 (0부터 시작)

  • 아이템 조회 : 리스트 아이템은 인덱스를 이용해서 조회 가능

  • 리스트 길이 : 리스트에 저장된 아이템의 개수 → len() 함수 사용

  • len()과 반복문을 이용하면 리스트의 아이템 조회가 가능하다.

    • len() → 문자열의 개수도 사용 가능
#len()
for i in range(len(myfavSports)):
    print(myfavSports[i])

#반복문 
n = 0
while n < len(myfavSports)
:    print(myfavSports[n])
    n += 1

list와 for문

  • for문을 이용하면 리스트의 아이템을 자동으로 참고할 수 있다.
for car in cars:
    print(car)
  • 내부 리스트 조회 : 리스트 내부의 또 다른 리스트의 아이템을 조회할 수 있다.
for classNo, cnt in studentsCnts:
    print(f'{classNo}학급의 학생수 : {cnt}')
  • for문을 이용한 조회

리스트와 while문

  • while문을 이용한 조회

enumerate() 함수

  • enumerate() 함수 : 아이템 열거하기, 문자열에도 적용 가능
    • 문자열에도 적용 가능

리스트 기능

  • append() : 마지막 인덱스에 아이템 추가

  • insert() : 특정 위치(인덱스)에 아이템 추가

  • pop() : 마지막 인덱스에 해당하는 아이템 삭제

    • pop(n) : n인덱스에 해당하는 아이템 삭제
  • remove() : 특정 아이템 삭제, 한 개의 아이템만 삭제 가능

    • 삭제하려는 데이터가 2개 이상이라면 while문 사용하기
  • extend() : 리스트에 또 다른 리스트를 연결(확장)

    • 덧셈 연자를 이용해서 리스트 연결 가능
  • sort() : 오름차순으로 아이템 정렬하기

    • 내림차순 : sort(reverse=Ture)
  • reverse() : 아이템 순서 뒤집기

  • 리스트를 곱셈 연산하면 아이템이 반복된다.

  • index(item) : item의 인덱스 알아내기

  • count() : 특정 아이템의 개수를 알아내기

  • del() : 특정 아이템 삭제

리스트 슬라이싱

  • [n:m] : 리스트에서 원하는 아이템만 뽑아낼 수 있다. (n≤N<m)

    • n 값 명시 안하면 idx 0부터

    • m 값 명시 안하면 idx 끝까지

    • 음수로 명시할시 뒤 순서에서 슬라이싱

    • 슬라이싱 단계 설정 가능

    • 슬라이싱을 이용해서 아이템을 변경할 수 있다.

    • slice()

“이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.”

profile
데이터 공부 기록

0개의 댓글