본문 바로가기

언어/Python

[ 파이썬 / Python ] 리스트 사용하기

반응형

파이썬에서 리스트는 가장 유용하고 자주 사용되는 데이터 구조 중 하나입니다.
리스트는 순서가 있는 변경 가능한 객체들의 집합으로, 다양한 데이터 타입을 포함할 수 있습니다.
아래에 리스트를 생성하고 활용하는 방법을 예제를 통해 설명하겠습니다.

1. 리스트 생성

빈 리스트 생성

empty_list = []
print(empty_list)  # 출력: []

요소가 있는 리스트 생성

numbers = [1, 2, 3, 4, 5]
print(numbers)  # 출력: [1, 2, 3, 4, 5]

mixed_list = [1, "hello", 3.14, True]
print(mixed_list)  # 출력: [1, 'hello', 3.14, True]

2. 리스트에 요소 추가

append() 메서드 사용

fruits = ["apple", "banana"]
fruits.append("cherry")
print(fruits)  # 출력: ['apple', 'banana', 'cherry']

insert() 메서드 사용

특정 위치에 요소를 추가합니다.

fruits = ["apple", "banana"]
fruits.insert(1, "cherry")
print(fruits)  # 출력: ['apple', 'cherry', 'banana']

extend() 메서드 사용

다른 리스트의 모든 요소를 추가합니다.

fruits = ["apple", "banana"]
more_fruits = ["cherry", "date"]
fruits.extend(more_fruits)
print(fruits)  # 출력: ['apple', 'banana', 'cherry', 'date']

3. 리스트 요소 접근 및 변경

인덱싱을 사용한 접근

fruits = ["apple", "banana", "cherry"]
print(fruits[0])  # 출력: apple
print(fruits[2])  # 출력: cherry

인덱싱을 사용한 변경

fruits = ["apple", "banana", "cherry"]
fruits[1] = "blueberry"
print(fruits)  # 출력: ['apple', 'blueberry', 'cherry']

4. 리스트 요소 삭제

remove() 메서드 사용

첫 번째로 일치하는 요소를 삭제합니다.

fruits = ["apple", "banana", "cherry"]
fruits.remove("banana")
print(fruits)  # 출력: ['apple', 'cherry']

pop() 메서드 사용

인덱스로 요소를 삭제하고 반환합니다. 인덱스를 생략하면 마지막 요소를 삭제합니다.

fruits = ["apple", "banana", "cherry"]
popped_fruit = fruits.pop(1)
print(popped_fruit)  # 출력: banana
print(fruits)  # 출력: ['apple', 'cherry']

del 키워드 사용

인덱스 또는 슬라이스로 요소를 삭제합니다.

fruits = ["apple", "banana", "cherry"]
del fruits[1]
print(fruits)  # 출력: ['apple', 'cherry']

fruits = ["apple", "banana", "cherry", "date"]
del fruits[1:3]
print(fruits)  # 출력: ['apple', 'date']

5. 리스트 슬라이싱

리스트의 부분 집합을 추출합니다.

numbers = [0, 1, 2, 3, 4, 5]
print(numbers[1:4])  # 출력: [1, 2, 3]
print(numbers[:3])   # 출력: [0, 1, 2]
print(numbers[3:])   # 출력: [3, 4, 5]
print(numbers[::2])  # 출력: [0, 2, 4]

6. 리스트 정렬

sort() 메서드 사용

리스트를 제자리에서 정렬합니다.

numbers = [5, 2, 9, 1]
numbers.sort()
print(numbers)  # 출력: [1, 2, 5, 9]

sorted() 함수 사용

정렬된 새로운 리스트를 반환합니다.

numbers = [5, 2, 9, 1]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # 출력: [1, 2, 5, 9]
print(numbers)         # 출력: [5, 2, 9, 1]

7. 리스트의 길이

len() 함수 사용

리스트의 길이를 반환합니다.

fruits = ["apple", "banana", "cherry"]
print(len(fruits))  # 출력: 3

8. 리스트 내에서 요소 찾기

in 연산자 사용

특정 요소가 리스트에 있는지 확인합니다.

fruits = ["apple", "banana", "cherry"]
print("banana" in fruits)  # 출력: True
print("date" in fruits)    # 출력: False

9. 리스트 복사

얕은 복사

fruits = ["apple", "banana", "cherry"]
copy_fruits = fruits[:]
print(copy_fruits)  # 출력: ['apple', 'banana', 'cherry']

copy() 메서드 사용

fruits = ["apple", "banana", "cherry"]
copy_fruits = fruits.copy()
print(copy_fruits)  # 출력: ['apple', 'banana', 'cherry']

요약

  • 리스트 생성: [], list()
  • 요소 추가: append(), insert(), extend()
  • 요소 접근 및 변경: 인덱싱 ([])
  • 요소 삭제: remove(), pop(), del
  • 리스트 슬라이싱: [start:end:step]
  • 리스트 정렬: sort(), sorted()
  • 리스트 길이: len()
  • 요소 찾기: in
  • 리스트 복사: 슬라이싱([:]), copy()

이와 같은 방법으로 파이썬에서 리스트를 생성하고 활용할 수 있습니다.
리스트는 매우 유연하고 강력한 데이터 구조로, 다양한 작업에 사용할 수 있습니다.

반응형