본문 바로가기
Language/python

[Python] List

by 모너아링 2023. 4. 11.

List

  • 아이템의 순서를 포함하는 자료구조
  • [10, 20, 30, 40], [”hello”, 2.0, 5, [10, 20]] ⇒ 자료형이 달라도 됨
  • 인덱스(위치를 나타냄)를 사용하여 리스트 값에 접근할 수 있다.

 

리스트 생성

  • 리스트명 = [요소1, 요소2, …]
  • 리스트명 = list()

 

원소 접근

  • 리스트명[인덱스] ⇒ 해당 인덱스의 원소값 반환
# 이중 리스트
a = [1, 2, 3, ['a', 'b', 'c']]
a[0] # 1
a[-1] # ['a', 'b', 'c']
a[-1][0] # 'a'

 

리스트 슬라이싱

  • 리스트명[start : end + 1 : step]
    • start 번째 인덱스부터 end 번째 인덱스까지 step 만큼 건너뛰며 리스트 슬라이싱
a = [1, 2, 3, 4, 5]
print(a[:]) # [1, 2, 3, 4, 5]

print(a[2:]) # [3, 4, 5]
print(a[:4]) # [1, 2, 3, 4]
print(a[2:4]) # [3, 4]

print(a[:-2]) # [1, 2, 3]
print(a[-4:]) # [2, 3, 4, 5]
print(a[-4:-2]) # [2, 3]

print(a[::2]) # [1, 3, 5]
print(a[::3]) # [1, 4]

print(a[1::2]) # [2, 4]
print(a[1::3]) # [2, 5]
print(a[1:4:2]) # [2, 4]

print(a[::-1]) # [5, 4, 3, 2, 1]
print(a[::-2]) # [5, 3, 1]

print(a[1::-2]) # [2] # a[1] 부터 시작
print(a[:2:-2]) # [5] # a[2 + 1] = a[3] 까지
print(a[4:1:-1]) # [5, 4, 3] # a[4] 부터 a[1 + 1] = a[2] 까지 거꾸로

 

원소 삽입

  • 리스트 이름.insert(삽입할 위치, 삽입할 데이터 값)
    • 해당 위치에 원소 삽입 (위치는 0부터 시작)
  • 리스트 이름.append(삽입할 데이터)
    • 리스트 맨 마지막에 원소 삽입

 

원소 삭제

  • 리스트 이름.remove(삭제할 데이터)
    • 존재하지 않는 데이터 값 대입 시 에러
    • 동일한 데이터 값이 두 개라면 첫 번째 원소만 삭제
  • del 리스트 이름[인덱스]

 

리스트 정렬

  • 리스트명.sort()
    • 리스트 자체가 정렬된 리스트로 바뀜
  • 리스트명.sort(reverse=True)
    • 내림차순 정렬
  • 새로운 리스트 = sorted(정렬할 리스트)
    • 원본 리스트는 정렬되지 않은 상태로 존재하고 정렬된 상태가 새로운 리스트에 할당된다.
a = [4, 1, 3, 5, 2]

list(reversed(a) # [2, 5, 3, 1, 4] 거꾸로

a.sort() # [1, 2, 3, 4, 5]

a.sort(reverse=True) # [5, 4, 3, 2, 1]

b = sorted(a) # b = [1, 2, 3, 4, 5] # a = [4, 1, 3, 5, 2]

'Language > python' 카테고리의 다른 글

[Python] Deep copy & shallow copy  (0) 2023.04.11
[Python] Dictionary  (0) 2023.04.11
[Python] Set  (0) 2023.04.11
[Python] Tuple  (0) 2023.04.11
[Python] 2차원 리스트 정렬  (0) 2023.03.19