2 분 소요

List와 Array

List(리스트)

리스트는 파이썬에서 가장 자주 사용되는 데이터 구조 중 하나입니다. 여러 가지 다른 유형의 항목을 저장할 수 있는 유연성이 있습니다.

생성하는 방법은 대괄호[ ]를 사용하며, 각 요소는 쉼표로 구분합니다.

new_list = [3, "Hi", 6.7]
num_list = [0, 1, 2, 3, 4]

array = int[5]
print(new_list)

결과:
TypeError: ‘type’ object is not subscriptable
이는 자료형과 관련된 에러입니다. 리스트는 int를 통해 숫자형으로 변경 할 수 없습니다.

Array(배열)

배열은 동일한 유형의 값을 저장할 수 있는 구조입니다. 리스트와 달리, 배열의 모든 요소는 동일한 데이터 유형이여야 한다. 배열은 array모듈을 사용하여 생성할 수 있으며, 별도로 import해야 합니다.

import array as arr

my_array = arr.array('i', [1, 2, 3])
print(my_array)

배열은 같은 데이터 유형으로 구성되어 있다. 에러가 발생한다.

List와 Array의 비교

List Array
- 대괄호[ ]로 쉽게 생성 가능
- 다양한 데이터 유형의 요소 저장 가능
- 쉬운 원소 추가를 위해 큰 메모리 필요
- 변경이 쉬움
- 직접적인 연산 불가능
- 리스트 안에 리스트 중첩 가능
- 순서가 지정된 콜렉션
- 선언 되어야 함
- array module이나 numpy 이용
- 적은 메모리 사용
- 한 요소에 대해 변경이 어려움
- 사칙 연산 쉬움
- 모든 요소가 같은 자료형
- 순서가 지정된 콜렉션


List의 기본 동작

리스트의 생성과 초기화 방법

리스트를 생성하려면 대괄호[]를 사용하고, 각 요소를 쉼표 ,로 구분합니다.

empty_list = [] ◀ 빈 리스트 생성


리스트의 요소 접근 방법과 수정

요소에 접근하기 위해서는 인덱스를 사용합니다. 이 인덱스는 0부터 시작합니다. 요소를 변경할 때, 이 인덱스를 사용해서 특정 위치의 요소를 변경할 수 있습니다.

num_list = [1, 2, 3, 4, 5]

print(num_list[2])
# 출력: 3


리스트의 크기 조정(추가, 삭제)

리스트에 요소를 추가하려면 append() 메서드를 사용합니다.

리스트에 요소를 삭제하려면 remove()메서드를 사용합니다.

remove() 메소드는 리스트에 중복된 값이 있을 경우에 첫 번째 값을 삭제합니다.

num_list = [1, 2, 3, 4, 5]
num_list.append(6)
print(num_list)
#출력: [1, 2, 3, 4, 5, 6]

num_list = [1, 2, 3, 4, 5, 6]
num_list.remove(6)
print(num_list)
#출력: [1, 2, 3, 4, 5]

리스트에서 특정 위치의 요소를 삭제하려면 del키워드 또는 pop()메서드를 사용할 수 있습니다. pop()메서드삭제된 요소를 반환하기 때문에 필요에 따라 사용할 수 있습니다.

num_list = [1, 2, 3, 4, 5, 40]
del num_list[5]	# 인덱스 5의 요소 삭제
print(num_list)
#출력: [1, 2, 3, 4, 5]

num_list = [1, 2, 3, 4, 5]
pop_element = num_list.pop(2) #인덱스의 2의 요소 삭제 및 반환
print(pop_element) 
#출력: 3


List의 다양한 활용

리스트를 활용한 반복문

파이썬의 리스트는 반복문에서 자주 사용됩니다. for문을 이용하여 리스트의 요소에 접근할 수 있습니다.

num_list = [1, 2, 3, 4]

for i in num_list:
    print(i)

또한, 리스트 컴프리헨션(list comprehension)을 이용하여 리스트를 더욱 간결하게 생성하거나 변경할 수 있습니다. comprehension은 포괄과 이해라는 뜻으로 정의할 수 있습니다.

파이썬에서는 대괄호[]안에 조건문과 반복문을 사용해서 표현된 식으로 리스트를 초기화 할 수 있습니다.

num_list = [1, 2, 3, 4, 5]

squares = [i**2 for i in num_list]
print(squares)
#출력: [1, 4, 9, 16, 25]


리스트의 정렬 방법

리스트를 정렬하기 위해 sort() 메서드나 soted() 함수를 사용할 수 있습니다. sort() 메서드는 원본 리스트를 정렬하지만, sorted() 함수는 정렬된 새로운 리스트를 반환합니다.

num_list = [2, 13, 5, 0, 24]

num_list.sort()
print(num_list)
#출력: [0, 2, 5, 13, 24]

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


리스트를 활용한 검색

리스트에서 특정 값을 찾기 위해 index() 메서드나in 키워드를 사용할 수 있습니다. index() 메서드는 찾고자 하는 값의 첫 번째 위치를 반환하며, in 키워드는 값이 리스트에 있는지 여부를 반환합니다.

num_list = [1, 2, 3, 4, 5]

print(num_list.index(3)) #출력: 2
print(3 in num_list) #출력: True

업데이트:

댓글남기기