[Python] 리스트 자료형 정리

2022. 4. 26. 18:00·Python/Basic
반응형

 


리스트란

리스트(List)는 여러 개의 데이터를 묶어 관리할 수 있는 자료형입니다.

리스트는 비슷한 유형의 데이터들을 관리할 때 중요하게 사용됩니다.


예를 들어, 과목 이름을 갖는 데이터들을 관리할 때

subject1 = "Math"
subject2 = "Science"
subject3 = "English"

다음과 같이 과목 이름 데이터를 하나하나 선언하는 것보다는

subjects = ["Math", "Science", "English"]

다음과 같이 리스트를 생성하여 관리하는 것이 좋습니다.


리스트 선언

리스트는 아래와 같은 방법으로 선언할 수 있습니다.

list = list()
list = []

또는 초기화와 동시에 값을 할당하기 위해서 다음과 같이 사용합니다.

list = [object1, object2, ..., objectn]

 


리스트 요소 접근

인덱싱이나 슬라이싱을 통해서 리스트의 요소에 접근할 수 있습니다.

인덱스 (Index) : 리스트에서 요소의 지정된 번호 (0부터 시작)

인덱싱

한 개의 요소에 접근할 때 다음과 같이 사용합니다.

list[index] # index에 대응하는 요소를 반환합니다.

subjects = ["Math", "Science", "English"]

subjects[1] 
# subjects[1]은 subjects의 두번째 요소를 의미합니다.
# 따라서 "Science"를 출력합니다.

subjects[-1]
# subject[-1]은 subjects의 뒤에서 첫번째 요소를 의미합니다.
# 따라서 "English"를 출력합니다.

슬라이싱

두 개 이상의 요소에 접근할 때 다음과 같이 사용합니다.

list[start:end:step] # 조건에 맞는 요소들을 반환합니다.
# start : 슬라이싱을 시작할 위치
#   end : 슬라이싱을 끝낼 위치 (end는 포함되지 않습니다.)
#  step : 슬라이싱의 보폭

# 전체적으로 range()와 비슷합니다.

subjects = ["Math", "Science", "English"]

subjects[0:1] 
# subjects[0:1]은 subjects의 1~2번째 요소를 의미합니다.
# ["Math", "Science"]를 리스트로 출력합니다.

subjects[-2:]
# subjects[-2:]은 subjects의 뒤에서 2~1번째 요소를 의미합니다.
# ["Science", "English"]를 리스트로 출력합니다.

 


index()

index()는 요소의 인덱스를 반환하는 메서드입니다.

(같은 요소가 존재하는 경우 가장 첫 요소의 인덱스를 반환합니다.)

list.index(object)

subjects = ["Math", "Science", "English"]

subjects.index("English")
# "English"의 인덱스인 2를 반환합니다.

append()

append()는 리스트에 요소를 추가하는 메서드입니다.

list.append(object)

subjects = ["Math", "Science", "English"]

subjects.append("History")
# subjects 리스트에 "History"를 추가합니다.
# subjects 리스트는 ["Math", "Science", "English", "History"]가 됩니다.

extend()

extend()는 리스트에 리스트를 추가하는 메서드입니다.

list.extend(list)

subjects = ["Math", "Science", "English"]

subjects.extend(["History", "Society"])
# subjects 리스트에 ["History", "Society"] 리스트를 추가합니다.
# subjects 리스트는 ["Math", "Science", "English", "History", "Society"]가 됩니다.

insert()

insert()는 리스트의 원하는 인덱스에 요소를 삽입하는 메서드입니다.

삽입된 인덱스 뒤의 요소들은 한 인덱스씩 밀려납니다.

list.insert(index, object)

subjects = ["Math", "Science", "English"]

subjects.insert(1, "History")
# subjects 리스트의 1번 인덱스에 "History"를 삽입합니다.
# subjects 리스트는 ["Math", "History", "Science", "English"]가 됩니다.

remove()

remove()는 리스트의 특정 요소를 제거하는 메서드입니다.

같은 요소가 존재하는 경우 가장 첫 요소를 제거합니다.

list.remove(object)

subjects = ["Math", "Science", "English"]

subjects.remove("Science")
# subjects 리스트에서 "Science" 요소를 제거합니다.
# subjects 리스트는 ["Math", "English"]가 됩니다.

pop()

pop()은 리스트의 마지막 요소를 반환하고 리스트에서 삭제하는 메서드입니다.

list.pop() # 가장 마지막 요소를 반환합니다.
list.pop(index) # index에 대응하는 요소를 반환합니다.

subjects = ["Math", "Science", "English"]

subjects.pop()
# subjects 리스트에서 마지막 요소인 "English"를 반환합니다.
# subjects 리스트는 ["Math", "Science"]가 됩니다.

clear()

clear()는 리스트의 모든 요소를 제거하는 메서드입니다.

list.clear()

subjects = ["Math", "Science", "English"]

subjects.clear()
# subjects 리스트는 []가 됩니다.

count()

count()는 리스트의 특정 요소의 개수를 반환하는 메서드입니다.

list.count(object)

number_list = [1, 1, 1, 2, 2, 3, 4]

number_list.count(1)
# number_list 리스트에서 1은 모두 3개가 존재하므로 3을 반환합니다.

copy()

copy()는 리스트의 복사본을 반환하는 메서드입니다.

list.copy()

subjects1 = ["Math", "Science", "English"]

subjects2 = subjects1.copy()
# subjects2 리스트는 ["Math", "Science", "English"]가 됩니다.
# subjects2 = subjects1[:]도 같은 기능을 합니다.

reverse()

reverse()는 리스트의 요소를 역순으로 정렬하는 메서드입니다.

list.reverse()

subjects = ["Math", "Science", "English"]

subjects.reverse()
# subjects 리스트는 ["English", "Science", "Math"]가 됩니다.

sort()

sort()는  리스트의 요소를 정렬하는 메서드입니다.

list.sort(*, key=None, reverse=False) # 키워드로만 전달할 수 있는 두 개의 인자를 받습니다.
list.sort() # 기본값은 가나다순(문자열로만 구성된 리스트)/숫자순(숫자로만 구성된 리스트)으로 정렬합니다.

subjects = ["English", "Math", "Science", "History", "Art"]

subjects.sort(key=len) # subjects 리스트를 이름의 길이 순으로 정렬합니다.
# subjects 리스트는 ["Art", "Math", "English", "Science", "History"]가 됩니다.
반응형
'Python/Basic' 카테고리의 다른 글
  • [Python] 딕셔너리 자료형 정리
  • [Python] 조건문과 반복문
  • [Python] 변수와 자료형
  • [Python] 시작하기
HYEOKJUN
HYEOKJUN
프로그래밍 관련 수업이나 웹 사이트에서 직접 얻은 정보를 공유하는 블로그입니다. (일부 잘못된 정보가 포함될 수 있습니다)
  • HYEOKJUN
    HYEOKJUN
    HYEOKJUN
  • 전체
    오늘
    어제
    • 분류 전체보기 (53)
      • UNITY (18)
        • Tool (9)
        • Script (9)
      • C | C++ (20)
        • Basic (11)
        • STL (8)
        • ETC (1)
      • C# (1)
        • Basic (0)
        • ETC (1)
      • Python (8)
        • Basic (7)
        • Library (1)
        • ETC (0)
      • WEB (2)
        • Basic (2)
      • Skill (0)
        • 자료구조 (0)
      • Workspace (0)
      • ETC (4)
  • 블로그 메뉴

    • 인기 글

    • 태그

      Package
      vector
      stack
      식별자
      Python
      Localization
      Unity
      자료형
      변수
      반복문
      조건문
      while
      C
      C#
      red-black tree
      queue
      std
      컨테이너
      C++
      포인터
    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    HYEOKJUN
    [Python] 리스트 자료형 정리
    상단으로

    티스토리툴바