파이썬: 리스트 자료형 list
파이썬에서 list는 가장 자주 사용되는 자료형 중 하나로, 여러 개의 값을 순서대로 저장할 수 있는 데이터 구조입니다. 리스트는 [ ] 대괄호 안에 요소를 넣어 만들 수 있고, 다양한 방법으로 요소를 조작할 수 있습니다. 아래 예제들을 통해 리스트의 다양한 기능을 알아보겠습니다.
>> 리스트 list
> 튜플 tuple - https://coding-abc.kr/326
> 딕셔너리 dictionary - https://coding-abc.kr/327
> 집합 set - https://coding-abc.kr/328
1. 리스트 생성 및 기본 연산
# 리스트 생성 fruits = ["apple", "banana", "cherry"] print(fruits) |
(Output)
['apple', 'banana', 'cherry']
리스트 길이 구하기: len(리스트)
fruits = ["apple", "banana", "cherry"] print(len(fruits)) |
(Output)
3
리스트에 값 추가하기: append 메서드
fruits = ["apple", "banana", "cherry"] fruits.append("orange") print(fruits) |
(Output)
['apple', 'banana', 'cherry', 'orange']
특정 위치에 값 삽입하기: insert 메서드
fruits = ["apple", "banana", "cherry", "orange" ] fruits.insert(1, "grape") print(fruits) |
(Output)
['apple', 'grape', 'banana', 'cherry', 'orange']
2. 리스트 요소 접근 및 슬라이싱
fruits = ['apple', 'grape', 'banana', 'cherry', 'orange'] # 특정 요소에 접근 print(fruits[0]) print(fruits[-1]) # 리스트 슬라이싱 print(fruits[1:3]) |
(Output)
apple
orange (뒤에서 첫 번째)
['grape', 'banana']
fruits[1:3] # 인덱스 1부터 3 이전까지(인덱스 3은 포함되지 않음)
fruits[1:] # 덱스 1부터 끝까지
fruits[:3] # 맨 처음부터 인덱스 3 이전까지
3. 리스트 요소 삭제
# 특정 요소 삭제 (`remove` 메서드) fruits.remove("banana") print(fruits) # 인덱스로 요소 삭제 (`pop` 메서드) fruits.pop(2) # 인덱스 2의 요소를 꺼내오고, 해당 요소를 삭제함. pop()은 마지막 요소를 꺼내오고 삭제함 print(fruits) # 모든 요소 삭제 (`clear` 메서드) fruits.clear() print(fruits) |
(Output)
['apple', 'grape', 'cherry', 'orange']
['apple', 'grape', 'orange']
[]
4. 리스트 반복문 사용하기
fruits = ["apple", "banana", "cherry"] # for 반복문 for fruit in fruits: print(fruit) |
(Output)
5. 리스트 정렬
numbers = [5, 2, 9, 1, 5, 6] # 오름차순 정렬 numbers.sort() print(numbers) # [1, 2, 5, 5, 6, 9] # 내림차순 정렬 numbers.sort(reverse=True) print(numbers) # [9, 6, 5, 5, 2, 1] |
(Output)
[1, 2, 5, 5, 6, 9]
[9, 6, 5, 5, 2, 1]
6. 리스트 합치기
list1 = [1, 2, 3] list2 = [4, 5, 6] # + 연산자로 합치기 combined = list1 + list2 print(combined) # [1, 2, 3, 4, 5, 6] # `extend` 메서드로 합치기 list1.extend(list2) print(list1) # [1, 2, 3, 4, 5, 6] |
(Output)
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
7. 중첩 리스트 (2차원 리스트)
# 2차원 리스트 생성 matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # 특정 요소 접근 print(matrix[0][1]) # 2 print(matrix[2][2]) # 9 # 2차원 리스트 순회하기 for row in matrix: for value in row: print(value, end=" ") # 1 2 3 4 5 6 7 8 9 print() |
(Output)
2
9
1 2 3
4 5 6
7 8 9
8. 리스트 내장 함수 예제
numbers = [10, 20, 30, 40, 50] print(sum(numbers)) # 합계: 150 print(max(numbers)) # 최댓값: 50 print(min(numbers)) # 최솟값: 10 |
(Output)
150
50
10
9. 리스트를 문자열로 변환
words = ["Hello", "world"] sentence = " ".join(words) print(sentence) # 'Hello world' |
(Output)
Hello world
10. 리스트 컴프리헨션 (List Comprehension)
# 1부터 5까지의 제곱을 갖는 리스트 생성 squares = [x**2 for x in range(1, 6)] print(squares) # [1, 4, 9, 16, 25] # 조건을 추가한 리스트 컴프리헨션 even_squares = [x**2 for x in range(1, 6) if x % 2 == 0] print(even_squares) # [4, 16] |
(Output)
[1, 4, 9, 16, 25]
[4, 16]
이 외에도 list는 다양한 내장 메서드와 함께 유연하게 사용할 수 있습니다. append, extend, remove, sort, reverse 등 여러 기능을 활용하여 리스트를 조작할 수 있습니다.