본문 바로가기
프로그래밍 언어 & 데이터베이스/Python

리스트(list) 함수와 정렬(sort, sorted)

by ♥︎해이나♥︎ 2021. 6. 18.
반응형

어제 정리했던 리스트의 기본 개념에 이어 오늘은 리스트 함수 종류와 정렬 방법에 대해 알아보려고 한다.

 

 

리스트 함수

아래는 리스트에 들어있는 값의 갯수, 리스트에 값을 추가, 삭제하는 함수들이다. 

 

numbers = [1, 2, 3]

print(len(numbers))  
# 리스트에 들어있는 값들의 갯수를 출력함, 결과값 3

numbers.append(4)  
# 리스트에 값을 추가하고 싶을 때, 결과값 [1, 2, 3, 4]

numbers.append(5)  
# 값을 새롭게 추가하면 자동으로 리스트의 오른쪽에 추가됨, 결과값 [1, 2, 3, 4, 5]

del numbers[0]  
# 리스트 값을 삭제하고 싶을 때 대괄호 안에 삭제하고 싶은 값의 인덱스를 입력, 결과값 [2, 3, 4, 5]

 

그렇다면 리스트의 오른쪽이 아닌 중간에 값을 끼워넣고 싶을 때는 어떻게 해야 할까? 아래와 같이 insert 함수를 사용해서 넣을 수 있다.

 

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

numbers.insert(2, 6)  
# 3번째에 6을 추가, 리스트는  [1, 2, 6, 3, 4, 5]가 됨

 

또 extend 함수를 사용하면 여러개를 동시에 추가할 수도 있다.

 

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

numbers.extend([6, 7])  
# 결과값 [1, 2, 3, 4, 5, 6, 7]

 

리스트 정렬

리스트를 정렬하는 방법은 sort, sorted 두가지가 있는데 각 함수의 차이점에 대해서 알아보았다.

 

numbers = [1, 4, 2, 3, 5]
new_numbers = sorted(numbers)
# numbers에는 [1, 4, 2, 3, 5], new_numbers에는 [1, 2, 3, 4, 5]가 들어있음

 

sorted 함수는 기존의 numbers 리스트를 변경하지는 않고, 정렬된 리스트를 새롭게 리턴한다. 때문에 sorted 함수를 사용할 때에는 새로운 변수를 만들어서 넣어 주어야 한다. 역순으로 정렬하고 싶다면 괄호 안에 reverse=True를 추가하면 된다.

 

new_numbers = sorted(numbers, reverse=True)  # [5, 4, 3, 2, 1]


sort 함수는 기존의 numbers 리스트를 정렬한다. 역순 정렬을 하고 싶다면 괄호()안에 reverse=True를 넣는다.

 

numbers.sort()  # numbers = [1, 2, 3, 4, 5]
numbers.sort(reverse=True)  # numbers = [5, 4, 3, 2, 1]
반응형

댓글