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 |