Python - Tuple & Array & List

수현·2023년 9월 30일
0

Python

목록 보기
5/11

튜플 Tuple

  • 불변한 값들의 나열

  • 순서를 가지며, 서로 다른 타입의 요소를 가질 수 있음

  • 변경 불가능(immutable), 반복 가능(iterable)

  • 소괄호(()) 혹은 tuple()을 통해 생성

  • 인덱스로 값에 대한 접근 가능, 값 변경 불가능(추가/삭제 포함)

  • tuple은 우리가 만들어쓰는 것 보다 파이썬 내부적으로 사용


배열 Array

여러 데이터들이 연속된 메모리 공간에 저장되어 있는 자료구조

int arr[5] = {70, 80, 20, 100, 90};
  • index를 통해 데이터에 빠르게 접근

  • 배열의 길이는 변경 불가능, 변경하려면 새로 생성

  • 데이터 타입 고정


연결 리스트 Linked List

데이터가 담긴 여러 노드들이 순차적으로 연결된 형태의 지료구조

  • 처음 노드부터 순차적으로 탐색

  • 연결 리스트의 길이 자유롭게 변경 가능 -> 삽입, 삭제 편리

  • 다양한 데이터 타입 저장

  • 데이터가 메모리에 연속적으로 저장되지 않음


파이썬의 List

배열과 연결리스트를 합친게 파이썬의 리스트

  • 인덱스로 데이터에 접근 가능

  • 길이 자유롭게 변경 가능

자주 사용하는 메서드

  • L.append(x) : 마지막 항목에 x를 추가

  • L.insert(i, x) : 인덱스 i에 항목 x를 삽입

  • L.remove(x) : 가장 왼쪽 x를 제거, x 존재하지 않을 시 ValueError

  • L.pop(i) : 인덱스 i 항목 반환 후 삭제, 빈 경우 마지막 항목 반환 후 삭제

  • L.clear() : 모든 항목 삭제

  • L.extend(m) : L + m시퀀스

  • L.index(x, start, end) : 리스트에 있는 항목 중 가장 왼쪽 x의 인덱스 반환

    numbers = [1, 2, 3, 4]
    print(numbers.index(3)) # 2
  • L.reverse() : 순서를 반대로 뒤집음, None 반환

  • L.sort(key)

    : 원본 리스트 정렬, None 반환, 정렬의 기준으로 reverse, key를 사용할 수 있으며(sorted도 동일) key에는 단일인자를 반환하는 함수가 와야함(보통 lambda 사용)

    # sort
    numbers = [3, 2, 5, 1]
    result = numbers.sort()
    print(numbers, result)  # [1, 2, 3, 5] None (원본 변경)
    
    # sorted
    result = sorted(numbers)
    print(numbers, result) # [3, 2, 5, 1] [1, 2, 3, 5] 
    # 원본 변경 없이 정렬된 리스트 반환
    # reverse
    numbers.sort(reverse=True)  # [5, 3, 2, 1]
    # reverse의 기본값은 False(오름차순)
    # key 사용
    ranked_movies = [{...}, {...}, {...}] # 요소가 딕셔너리 형태의 영화 정보인 리스트
    ranked_movies.sort(key = lambda l: l['vote_average'])
  • L.count(x) : x의 개수 반환

profile
실패와 성장을 기록합니다 🎞️

0개의 댓글