본문 바로가기
IT tech Coding/python

cxlist.sort(key=lambda x: x[0]) 파이썬 정렬 초보자들이 보면 좋은 정보

by Coding Life 2024. 7. 2.

 파이썬(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를 출력합니다.


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



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

반응형