Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Python/파이썬] 객체 리스트 정렬하기 본문
Python에서는 객체 리스트를 정렬하는 것이 매우 흔한 작업입니다. 이번 글에서는 다양한 방법으로 객체 리스트를 정렬하는 예제를 살펴보겠습니다.
1. 객체의 특정 속성을 기준으로 정렬
가장 일반적인 방법은 객체의 특정 속성을 기준으로 정렬하는 것입니다. 예를 들어, 객체의 'age' 속성을 기준으로 정렬할 수 있습니다.
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
people = [Person('John', 30), Person('Jane', 25), Person('Dave', 35)]
# 나이를 기준으로 정렬
sorted_people = sorted(people, key=lambda x: x.age)
for person in sorted_people:
print(person.name, person.age)
2. 여러 기준으로 정렬
여러 기준으로 정렬할 때는 튜플을 반환하는 람다 함수를 사용하여 정렬할 수 있습니다.
class Person:
def __init__(self, name, age, height):
self.name = name
self.age = age
self.height = height
people = [Person('John', 30, 175), Person('Jane', 25, 160), Person('Dave', 35, 180)]
# 나이를 기준으로 정렬 후 키를 기준으로 다시 정렬
sorted_people = sorted(people, key=lambda x: (x.age, x.height))
for person in sorted_people:
print(person.name, person.age, person.height)
3. 내장 함수의 활용
sorted() 함수 외에도 리스트의 sort() 메서드를 사용하여 객체 리스트를 정렬할 수 있습니다.
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
people = [Person('John', 30), Person('Jane', 25), Person('Dave', 35)]
# 나이를 기준으로 정렬
people.sort(key=lambda x: x.age)
for person in people:
print(person.name, person.age)
위의 예제들을 통해 Python에서 객체 리스트를 다양한 방법으로 정렬하는 방법을 알아보았습니다. 정렬할 때는 주어진 조건에 따라 적절한 방법을 선택하여 사용해야 합니다.
'프로그래밍' 카테고리의 다른 글
[Python/파이썬] 패킹과 언패킹 (0) | 2024.03.02 |
---|---|
[Python/파이썬] 랜덤 float 생성 방법 (0) | 2024.03.02 |
[Python/파이썬] 리스트 역순으로 순회하기 (0) | 2024.03.02 |
[Python/파이썬] 리스트 복사: Deep Copy vs Shallow Copy (0) | 2024.03.02 |
[Python/파이썬] 싱글턴(Singleton) 패턴: 다양한 방법으로 구현하기 (0) | 2024.03.02 |