
List?
하나의 자료형(list)로 여러 개의 값을 담을 수 있는 순서가 있는 자료형입니다.
예를 들어, 1~ 10까지 숫자를 num1 , num2 ..., num10해서 저장이 가능하지만 굉장히 많은 변수를 정의해야 하므로 번거롭습니다.
이럴 때, list를 사용하여 여러 개의 값을 담을 수 있습니다.
아래와 같이 사용할 수 있습니다.
empty_list = [] #빈 리스트 선언
list = [1,2,3] #1,2,3이 들어있는 리스트 선언
range_list = list(range(1,10)) #1~9까지 들어있는 리스트 range를 이용하여 선언
List에 저장할 수 있는 자료형
List에는 튜플, 딕셔너리, 정수, 문자열, 소수 등 모든 자료형이 저장이 가능합니다.
심지어 list 안에 list 까지 저장이 가능합니다.
또한, 같은 list안에 서로 다른 자료형을 저장할 수도 있습니다.
list = []
list.append("hi")
list.append(5)
print(list) #["hi",5]
List 다루기
값에 접근하는 방법 ( 인덱싱 )
list에 저장된 값에 접근하기 위해 index를 사용합니다.
index는 0부터 시작하므로 n개의 원소가 있는 list의 마지막 index는 n-1입니다.
list = [1,2,3,4,5]
print(list[0]) #1
print(list[1]) #2
print(list[2]) #3
print(list[3]) #4
print(list[4]) #5
값에 접근하는 방법 ( 네거티브 인덱싱 )
list에 저장된 값에 접근하기 위한 방법은 앞에서부터 접근하는 indexing만 있는 것이 아닙니다.
list의 마지막(뒷부분)에서 접근하는 negative indexing도 존재합니다.
negative index는 맨 뒤가 -1로 시작합니다. 따라서 맨 앞의 원소는 -n이 됩니다.
list = [1,2,3,4,5]
print(list[-1]) #5
print(list[-2]) #4
print(list[-3]) #3
print(list[-4]) #2
print(list[-5]) #1
슬라이싱 ( slicing )
list의 일부분만 이용하고 싶다면, slicing을 사용할 수 있습니다.
slicing은 list의 일부 범위에 접근할 수 있게 합니다.
: 를 이용하여 슬라이싱을 할 수 있으며, [ a : b ]를 한다면, a ~ b-1까지 요소가 담긴 리스트를 반환합니다.
list = [ 1,2,3,4,5 ]
print(list[1:3]) # [ 2,3 ] 1~2인덱스가 남긴 리스트 반환
요소 간격 슬라이싱
예를 들어, 홀수번호 인덱스만 반환받고 싶을 때 이용할 수 있습니다.
[ 시작인덱스 : 끝 인덱스 : 간격 ] 으로 이용이 가능합니다.
list = [1,2,3,4,5,6]
print(list[0:5:2]) # 0~4인덱스까지 한 개 간격( 두개당 하나 )으로 따라서 = [1,3,5]
List 관련 메서드
list는 편리하게 이용 가능한 다양한 메서드들이 존재합니다.
해당 메서드를 통해 보다 쉽고 빠르게 프로그래밍이 가능합니다.
- 아래 예시에서 L = [1,2,3]입니다.
list.append(value)
#리스트의 마지막에 값을 추가해주는 메서드
L.append(4)
print(L)#[1,2,3,4]
list.pop()
#리스트의 마지막 값을 반환하고 제거하는 메서드
tmp = L.pop()
print(L) #[1,2]
print(tmp) #3
list.pop(index)
#index에 있는 값을 반환 후, 제거하는 메서드
tmp = L.pop(1)
print(L) #[1,3]
print(tmp) #2
list.insert(index,value)
#index자리에 값을 넣는 메서드
L.insert(3,4)
print(L) #[1,2,3,4]
list.index(value)
#값과 일치하는 첫번째 인덱스를 반환하는 메서드 (제거X)
tmp =L.index(1)
print(tmp) # 1
print(L) #[1,2,3]
list.remove(value)
# 값과 일치하는 첫번째 값을 제거
L.remove(1)
print(L) #[2,3]
list.count(value)
#list안의 value값의 개수를 반환
tmp = L.count(1)
print(tmp) #1
list.extend(list)
#List에 다른 리스트의 값을 이어붙임
L.extend([4,5,6])
print(L) #[1,2,3,4,5,6]
list.reverse()
#리스트의 값을 뒤집는 메서드
L.reverse()
print(L) #[3,2,1]
list.sort()
#list 정렬 메서드
L = [1,3,2]
L.sort()
print(L) #[1,2,3]
list는 자료구조에서도 이용되기에 잘 이해하는 것이 중요합니다.
이 외에도 enumerate 등을 활용하여 여러가지 이용이 가능하므로 스킬을 많이 익히는 것이 중요할 것 같습니다.
enumerate에 대한 설명이 궁금하신 분은 아래 링크를 참고해주세요.
https://artificially-making-intelligence.tistory.com/12
인덱스와 배열값을 같이 가져오는 Enumerate()
Enumerate() 인덱스와 해당 인덱스의 배열값을 같이 반환하는 함수다. Enumerate(배열,startIndex) 이렇게 배열과 인덱스를 같이 적어서 사용할 수 있다. 물론, 아래와 같이 Enumerate(배열)로 적어 사용할 수
artificially-making-intelligence.tistory.com
'Python' 카테고리의 다른 글
| 폴더 안의 파일 개수 구하기 ( with Python ) (4) | 2024.03.13 |
|---|---|
| 인덱스와 배열값을 같이 가져오는 Enumerate() (0) | 2024.02.21 |
| argparse ( 명령행 인자 Parsing ) (3) | 2024.01.18 |
| Python - os 모듈 ( listdir,mkdir,join,getcwd,exists,walk ) (3) | 2024.01.17 |