티스토리 뷰

반응형

 파이썬(Python)에서 리스트를 정렬하는 방법에 대해 알아보겠습니다.

 특히, 리스트 안에 튜플이나 리스트가 포함된 복잡한 리스트를 정렬하는 방법을 초보자도 이해하기 쉽게 설명드리겠습니다. 예시로 사용된 코드는 다음과 같습니다:

cxlist.sort(key=lambda x: x[0])
이제 이 코드가 무엇을 하는지 단계별로 설명해드리겠습니다.

1. 리스트(List)란 무엇인가요?
먼저, 파이썬에서 리스트란 여러 개의 값을 모아놓은 자료구조입니다. 리스트는 대괄호 []를 사용해서 만들 수 있습니다. 예를 들어:

numbers = [3, 1, 4, 1, 5, 9]
여기서 numbers는 숫자들을 담고 있는 리스트입니다.

2. 리스트 안에 리스트나 튜플이 있는 경우
리스트 안에 또 다른 리스트나 튜플이 있을 수도 있습니다. 예를 들어:

cxlist = [(3, 'apple'), (1, 'banana'), (4, 'cherry')]
여기서 cxlist는 튜플을 원소로 가지는 리스트입니다. 각 튜플은 첫 번째 원소로 숫자, 두 번째 원소로 문자열을 가지고 있습니다.

3. 리스트 정렬하기
파이썬에서 리스트를 정렬하려면 sort() 메서드를 사용할 수 있습니다. 기본적으로 sort() 메서드는 리스트의 원소를 오름차순으로 정렬합니다. 예를 들어:

numbers = [3, 1, 4, 1, 5, 9]
numbers.sort()
print(numbers)  # [1, 1, 3, 4, 5, 9]
이 코드는 numbers 리스트를 작은 숫자부터 큰 숫자 순으로 정렬합니다.

4. 복잡한 리스트 정렬하기
리스트 안에 있는 원소가 또 다른 리스트나 튜플인 경우에는 sort() 메서드에 key라는 추가적인 매개변수를 사용해야 합니다. key 매개변수는 각 원소를 비교할 때 사용할 기준을 정해줍니다.

cxlist = [(3, 'apple'), (1, 'banana'), (4, 'cherry')]
cxlist.sort(key=lambda x: x[0])
print(cxlist)  # [(1, 'banana'), (3, 'apple'), (4, 'cherry')]
위 코드에서 cxlist.sort(key=lambda x: x[0])는 cxlist 리스트를 첫 번째 원소(숫자)를 기준으로 정렬합니다.

4.1 lambda란 무엇인가요?
lambda는 파이썬에서 사용하는 간단한 함수입니다. lambda x: x[0]는 입력값 x를 받아서 x의 첫 번째 원소를 반환하는 함수를 만듭니다. 예를 들어, x가 (3, 'apple')이면 x[0]은 3이 됩니다.

5. 전체 코드 설명
cxlist = [(3, 'apple'), (1, 'banana'), (4, 'cherry')]
cxlist.sort(key=lambda x: x[0])
print(cxlist)  # [(1, 'banana'), (3, 'apple'), (4, 'cherry')]
첫 번째 줄: cxlist라는 리스트를 정의합니다. 이 리스트는 튜플을 원소로 가지고 있으며, 각 튜플은 첫 번째 원소로 숫자, 두 번째 원소로 문자열을 가지고 있습니다.
두 번째 줄: cxlist 리스트를 첫 번째 원소(숫자)를 기준으로 오름차순으로 정렬합니다. 이를 위해 sort() 메서드를 사용하고, key 매개변수에 lambda x: x[0]을 전달합니다.
세 번째 줄: 정렬된 cxlist를 출력합니다.


이제 여러분은 복잡한 리스트를 정렬하는 방법을 알게 되었습니다. 이 방법을 사용하면 다양한 기준에 따라 리스트를 정렬할 수 있습니다.



배열이 어려울때 참고하면 좋은 자료 같습니다.

반응형
댓글