리스트(list)
- 순서를 가지는 객체의 집합
- 시작과 끝을 표시하기 위해 대괄호[] 사용
- 리스트 안에 저장된 각각의 데이터를 항목(item)이라고 함
numbers = [7, 12, 33, 777]
list1 = [1, 2, 'a', 'b', num] # 리스트는 자료형에 구애받지 않고 사용 가능
empty = [] # 공백 리스트
항목 접근
- 인덱스로 접근
- 인덱스는 0부터 시작
letters = ['A', 'B', 'C', 'D', 'E']
0 1 2 3 4
letters = ['A', 'B', 'C', 'D', 'E']
print(letters[0]) # A
print(letters[1]) # B
항목 추가
- 리스트.append(항목)
: 리스트 끝에 항목 추가
list = [1, 2, 3]
list.append(4) -> list = [1, 2, 3, 4]
heroes = []
heroes.append("슈퍼맨") # 리스트 끝에 추가
heroes.append("아이언맨")
print(heroes) # ['슈퍼맨', '아이언맨']
- 리스트.insert(인덱스, 항목)
: 인덱스 위치에 항목 추가
list = [1, 3, 4]
list.insert(1, 2) -> list = [1, 2, 3, 4]
heroes = ["슈퍼맨", "아이언맨", "스칼렛 위치"]
heroes.insert(2, "토르")
print(heroes) # ['슈퍼맨', '아이언맨', '토르', '스칼렛 위치']
슬라이싱
- 리스트에서 필요한 부분만 자름
list[1:3] : 1번 항목부터 3번 항목 - 1까지
list[:3] : 처음부터 3번 항목 - 1까지
list[1:] : 1번 항목부터 끝까지
list[:] : 처음부터 끝까지
letters = ['A', 'B', 'C', 'D', 'E']
print(letters[1:3]) # ['B', 'C']
print(letters[:3]) # ['A', 'B', 'C']
print(letters[1:]) # ['B', 'C', 'D', 'E']
print(letters[:]) # ['A', 'B', 'C', 'D', 'E']
항목 변경
- 리스트[인덱스] = 값
: 인덱스 위치에 새로운 값으로 변경
: 존재하지 않는 인덱스 사용하면 오류
letters = ['A', 'B', 'C', 'D', 'E']
letters[1] = 'F'
print(letters) # ['A', 'F', 'C', 'D', 'E']
항목 삭제
- 리스트.remove(항목)
: 삭제하고자 하는 항목을 알 때 사용
letters = ['A', 'B', 'C', 'D', 'E']
letters.remove('C')
print(letters) # ['A', 'B', 'D', 'E']
- del 리스트[인덱스]
: 인덱스 사용하여 항목 삭제
letters = ['A', 'B', 'C', 'D', 'E']
del letters[1]
print(letters) # 'A', 'C', 'D', 'E']
- 리스트.pop()
: 리스트의 마지막 항목 삭제
letters = ['A', 'B', 'C', 'D', 'E']
letters.pop()
print(letters) # ['A', 'B', 'C', 'D']
- 리스트.clear()
: 리스트 안의 모든 내용 삭제
letters = ['A', 'B', 'C', 'D', 'E']
letters.clear()
print(letters) # []
리스트 탐색
- 리스트.index(항목)
: 리스트에서 항목이 몇 번째 위치에 있는지 탐색
letters = ['A', 'B', 'C', 'D', 'E']
if 'C' in letters: # 만약 letters 리스트 안에 'C'가 있다면
print(letters.index('C')) # 2
리스트 정렬
- 리스트.sort()
: 알파벳이면 알파벳 순으로, 숫자는 크기 순으로 정렬
numbers = [5, 7, 2, 1, 3, 9, 6, 8, 4]
numbers.sort()
print(numbers) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
- 리스트.reverse()
: 리스트 순서 뒤집기
numbers = [5, 7, 2, 1, 3, 9, 6, 8, 4]
numbers.sort() # 정렬
numbers.reverse() # 반대로 뒤집기
print(numbers) # [9, 8, 7, 6, 5, 4, 3, 2, 1]
- sorted(리스트)
: 정렬된 새로운 리스트 생성
numbers = [5, 7, 2, 1, 3, 9, 6, 8, 4]
new_numbers = sorted(numbers)
print(new_numbers) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
- sorted(리스트, reverse=True)
: 역으로 정렬된 새로운 리스트 생성
numbers = [5, 7, 2, 1, 3, 9, 6, 8, 4]
new_numbers = sorted(numbers, reverse=True)
print(new_numbers) # [9, 8, 7, 6, 5, 4, 3, 2, 1]
리스트 병합
- 리스트a.extend(리스트b)
: 리스트a에 리스트b 병합
num1 = [1, 2, 3, 4, 5]
num2 = [6, 7, 8, 9, 10]
num1.extend(num2)
print(num1) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
'AI > Python' 카테고리의 다른 글
[Python] 8-3장 튜플, 집합 (0) | 2023.04.07 |
---|---|
[Python] 8-2장 딕셔너리, 딕셔너리 함수(키, 값 접근, 반환, 삭제) (0) | 2023.04.07 |
[Python] 7-3장 함수 응용(나무, 막대 그래프, 벌집 그리기) (0) | 2023.04.03 |
[Python] 7-2장 지역변수, 전역변수, 디폴트 인수, 키워드 인수, 가변인자 (0) | 2023.04.03 |
[Python] 7-1장 함수 (function), 인수, 매개변수, return (0) | 2023.03.27 |