4. 고급 자료형 I > 4-4. 리스트와 관련된 함수

리스트와 관련된 함수

이번엔 리스트와 관련된 함수를 배워볼 거에요. 사실 함수라고 해서 긴장하시는 분들이 많을 텐데, 자세한 함수 내용에 대해서는 뒤에서 배울 예정이니 긴장하지 마셔요! 이 파트에서는 이미 파이썬 자체에 내장된 함수들 중 리스트와 관련된 함수들을 사용하는 법만 배워볼 예정입니다.

append() : 리스트 끝에 값 하나 추가

리스트의 끝에 '값 하나'를 추가하는 함수에요. 여러 값을 추가할 수는 없답니다. 코드는 아래를 살펴볼까요?

a=[1,2,3,4,5]
a.append(6) #리스트 a는 [1,2,3,4,5,6]이 되었습니다.
a.append("cosadama") #리스트 a는 [1,2,3,4,5,6,"cosadama"]가 되었습니다.
a.append([7,8]) #리스트 a는 [1,2,3,4,5,6,"cosadama", [7,8]]이 되었습니다.
a.append(7,8) #error: append() 함수는 값 하나만 리스트의 끝에 추가 가능합니다.

sort() : 오름차순 정렬

sort() 함수는 리스트 내의 작은 값부터 큰 값까지를 줄세우는(오름차순!) 함수입니다. 다만 조건이 있는데, 리스트 내의 값들이 모두 같은 자료형이어야 해요. 값을 비교해 적은 값부터 큰 값까지 줄세우는 것이니 당연하겠죠?

a=[5,2,3,1,4] #숫자 크기와 상관없이 뒤섞인 리스트 a지만
a.sort() #sort() 함수를 사용하면
print(a) #[1,2,3,4,5]와 같은 리스트 a가 출력됩니다.
b=['찬', '혜민', '용주', '정윤'] #숫자형이 아니어도 가능합니다.
b.sort()
print(b) #['용주', '정윤', '찬', '혜민']과 같은 리스트 b가 출력됩니다.

reverse() : 내림차순 정렬

앞선 sort() 함수가 오름차순 함수였다면, reverse() 함수는 큰 값부터 작은 값까지를 줄세우는 내림차순 함수에요. 재미있는 것은, 내림차순 정렬은 sort() 함수로도 표현할 수 있다는 점입니다. 아래 코드를 볼까요?

a=[1,2,3,4,5]
a.reverse() #a는 [5,4,3,2,1]로 정렬됩니다.
a.sort(reverse=True) #이와 같이 함수의 인수 자리(괄호 안)에 reverse=True를 입력해주면 내림차순 정렬이 가능해집니다. 당연히 결과는 [5,4,3,2,1]이 됩니다.

len() : 총 개수 세기

범용적인 함수로, 리스트를 제외한 자료형에서도 많이 사용되는 함수입니다. 총 개수를 세주는 함수라 생각하면 쉽죠. 값이 너무 많아 총개수를 모르는 경우 파악하기에 용이합니다.

a=[1,2,3,4,5]
len(a) #함수로부터 반환되는 값은 숫자 5입니다. a 리스트는 다섯개의 값을 가지니까요.

index() : 위치 찾기

특정 값이 리스트에서 어디에 위치하는지를 알려주는 함수입니다. 다만 찾으려고 하는 값이 여러개 있을 경우 가장 앞에 있는 위치를 알려줍니다. 그 다음번 값을 찾고 싶다면 범위를 지정해줄 수 있습니다.

a=[1,2,3,4,5,3,6,7]
a.index(3) #반환되는 값은 2입니다. a 리스트에서 3은 2번째에 위치해있으니까요.(역시 0부터 셉니다!)
a.index(3,3,7) #3값의 위치를 찾되, 3번째 값부터 7번째 값 이전까지를 범위로 찾습니다. 2번째 다음의 3값은 5번째에 위치해있으므로 숫자 5가 반환됩니다.
a.index(3,3) #마지막 값까지 포함해 3의 위치를 찾고 싶다면 다음과 같이 적어도 좋습니다. 3값의 위치를 찾되, 3번째 값부터 마지막 값까지의 범위에서 찾는다는 의미입니다.

insert() : 값 삽입

앞서 배운 append() 함수는 리스트의 '마지막'에 값을 추가하는 함수였다면, insert() 중간에 값을 삽입할 수 있는 함수에요.

a=[1,2,3,5]
a.insert(3,4) #3번째 위치에 값 4가 추가되고, 기존 값들은 뒤로 밀려납니다.
print(a) #리스트 [1,2,3,4,5]가 출력됩니다.

remove() : 값 제거

특정 값을 제거할 수 있는 함수입니다. 다만 리스트 내의 모든 해당 값을 삭제하는 것이 아니라 처음 나오는 해당 값만을 삭제합니다.

a=[1,2,3,4,5,2]
a.remove(2)
print(a) #리스트 [1,3,4,5,2]가 출력됩니다. 가장 앞에 위치한 2값만 삭제되고, 그 뒤에 위치한 2값은 여전히 남아있음을 알 수 있습니다.

count() : 값 개수 세기

앞서 배운 len() 함수가 리스트 내의 모든 값의 개수를 셌다면, count() 함수는 특정 값의 개수만을 세는 함수입니다.

a=[1,2,3,4,5,2]
a.count(2) #숫자 2가 반환됩니다. 리스트 a에 2 값은 두개있으니까요.
마지막으로 업데이트 된 날짜:
2022년 9월 24일