리스트(List)란? : 여러 항목들을 담을 수 있는 가변(mutable)한 시퀀스(sequence)이다. 대괄호 "[ ]" 를 사용하여 리스트를 만들 수 있다.
리스트의 인덱싱(Indexing)
- 인덱싱: 리스트에서 특정 위치의 값에 접근하는 방법
- 파이썬은 맨 처음을 가리키는 인덱스가 0 (1이 아님에 유의)
numbers = [1, 2, 3, 4, 5]
# 첫 번째 요소에 접근하기
first_number = numbers[0]
print("First number:", first_number) # 출력:First number: 1
# 두 번째 요소에 접근하기
second_number = numbers[1]
print("Second number:", second_number) # 출력:Second number: 2
# 마지막 요소에 접근하기
last_number = numbers[-1]
print("Last number:", last_number) # 출력:Last number: 5
# 음수 인덱스를 사용하여 역순으로 요소에 접근하기
second_last_number = numbers[-2]
print("Second last number:", second_last_number) # 출력:Second last number: 4
리스트의 다양한 메서드(Methods)
- append(): 리스트에 항목을 추가
my_list = [10, 20, 30, 40, 50]
my_list.append(60)
print(my_list) # 출력:[10, 20, 30, 40, 50, 60]
- extend(): 리스트에 다른 리스트의 모든 항목을 추가
my_list.extend([7, 8, 9]) # 다른 리스트의 모든 항목을 추가
print(my_list) # 출력: [1, 2, 3, 4, 5, 6, 7, 8, 9]
- insert(): 리스트의 특정 위치에 항목을 삽입
my_list = [1, 2, 3, 4, 5]
my_list.insert(2, 10) # 두 번째 위치에 값 삽입
print(my_list) # 출력: [1, 2, 10, 3, 4, 5, 6, 7, 8, 9]
- remove(): 리스트에서 특정 값을 삭제
my_list = ['car', 'bus', 'bike', 'train']
my_list.remove('train')
print(my_list) # 출력:['car', 'bus', 'bike']
- pop(): 리스트에서 특정 위치의 값을 제거하고 반환
my_list = [1, 2, 3, 4, 5]
popped_value = my_list.pop(5) # 다섯 번째 위치의 값 제거하고 반환
print(popped_value) # 출력: 6
print(my_list) # 출력: [1, 2, 10, 4, 5, 7, 8, 9]
- index(): 리스트에서 특정 값의 인덱스를 찾기
my_list = [1, 2, 3, 4, 5]
print(my_list.index(4)) # 출력: 3 (값 4의 인덱스)
- count(): 리스트에서 특정 값의 개수를 셈
my_list = [1, 2, 3, 4, 5]
print(my_list.count(7)) # 출력: 1 (값 7의 개수)
- sort(): 리스트의 항목들을 정렬
my_list = [1, 2, 3, 4, 5]
my_list.sort() # 리스트 정렬
print(my_list) # 출력: [1, 2, 4, 5, 7, 8, 9, 10]
- reverse(): 리스트의 항목들을 역순으로 뒤집기
my_list = ['red', 'green', 'blue', 'yellow']
my_list.reverse()
print(my_list) # 출력:['yellow', 'blue', 'green', 'red']
리스트의 슬라이싱 : 리스트의 일부분을 추출하는 것
[시작 인덱스 : 끝낼 인덱스 +1] : 슬라이싱을 할 때 끝에 입력할 인덱스는 내가 선택할 인덱스 +1을 해야한다.
예시)1번째부터 12번째까지의 요소를 가져온다면 [0:13]
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 1. 일부분만 추출하기
print(my_list[2:5]) # 출력: [3, 4, 5]
# 2. 시작 인덱스 생략하기 (처음부터 추출)
print(my_list[:5]) # 출력: [1, 2, 3, 4, 5]
# 3. 끝 인덱스 생략하기 (끝까지 추출)
print(my_list[5:]) # 출력: [6, 7, 8, 9, 10]
# 4. 음수 인덱스 사용하기 (뒤에서부터 추출)
print(my_list[-3:]) # 출력: [8, 9, 10]
# 5. 간격 설정하기 (특정 간격으로 추출)
print(my_list[1:9:2]) # 출력: [2, 4, 6, 8]
# 6. 리스트 전체를 복사하기
copy_of_list = my_list[:]
print(copy_of_list) # 출력: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 7. 리스트를 거꾸로 뒤집기
reversed_list = my_list[::-1]
print(reversed_list) # 출력: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
리스트의 정렬
sort()를 통해 정렬이 가능하다.
# 숫자로 이루어진 리스트 정렬 예시
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5]
numbers.sort()
print("정렬된 리스트:", numbers) # 출력: [1, 1, 2, 3, 4, 5, 5, 6, 9]
# 문자열로 이루어진 리스트 정렬 예시
words = ['apple', 'banana', 'orange', 'grape', 'cherry']
words.sort()
print("정렬된 리스트:", words) # 출력: ['apple', 'banana', 'cherry', 'grape', 'orange']
# 내림차순으로 리스트 정렬 예시
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5]
numbers.sort(reverse=True)
print("내림차순으로 정렬된 리스트:", numbers) # 출력: [9, 6, 5, 5, 4, 3, 2, 1, 1]
# 리스트의 문자열 길이로 정렬 예시
words = ['apple', 'banana', 'orange', 'grape', 'cherry']
words.sort(key=len)
print("문자열 길이로 정렬된 리스트:", words) # 출력: ['apple', 'grape', 'banana', 'cherry', 'orange']
'내일배움캠프 > Python' 카테고리의 다른 글
[Python]포맷팅_ { }, f-string (0) | 2024.12.13 |
---|---|
[Python]for, while 반복문 연습문제 (0) | 2024.12.11 |
[Python]함수의 매개변수 (0) | 2024.11.22 |
[Python]map, filter, lambda (0) | 2024.11.22 |
[Python]삼항연산자 (0) | 2024.11.22 |