이것저것
정렬 itemgetter / attregetter 본문
operator 모듈 함수
1. itemgetter()
Name_tuples = [
('olivia', 21,90),
('chris', 24,85),
('jane', 20,88)
]
from operator import itemgetter
print(sorted(Name_tuples, key = itemgetter(1))) # age 오름차순 정렬
>>>
[('jane', 20, 88), ('olivia', 21, 90), ('chris', 24, 85)]
2. attrgetter()
class Name:
def __init__(self, name, age, score):
self.name = name
self.age = age
self.score = score
def printInfo(self):
return "{} {} {}".format(self.name, self.age, self.score)
Name_tuples = [
Name('olivia', 21,90),
Name('chris', 24,85),
Name('jane', 20,88)
]
from operator import attrgetter
for final in sorted(Name_tuples, key = attrgetter('age')): # age 오름차순 정렬
print(final.printInfo())
>>>
jane 20 88
olivia 21 90
chris 24 85
3. 다중 정렬
Name_tuples = [
('olivia', 21,90),
('chris', 24,85),
('jane', 20,88)
]
from operator import itemgetter
print(sorted(Name_tuples, key = itemgetter(1,0))) # age, name 순 오름차순 정렬
class Name:
def __init__(self, name, age, score):
self.name = name
self.age = age
self.score = score
def printInfo(self):
return "{} {} {}".format(self.name, self.age, self.score)
Name_tuples = [
Name('olivia', 21,90),
Name('chris', 24,85),
Name('jane', 20,88)
]
from operator import attrgetter
for final in sorted(Name_tuples, key = attrgetter('age', 'score')): # age,score순 오름차순 정렬
print(final.printInfo())
4. 내림차순
Name_tuples = [
('olivia', 21,90),
('chris', 24,85),
('jane', 20,88)
]
from operator import itemgetter
print(sorted(Name_tuples, key = itemgetter(1), reverse = True)) # age 오름차순 정렬
>>>
[('chris', 24, 85), ('olivia', 21, 90), ('jane', 20, 88)]
class Name:
def __init__(self, name, age, score):
self.name = name
self.age = age
self.score = score
def printInfo(self):
return "{} {} {}".format(self.name, self.age, self.score)
Name_tuples = [
Name('olivia', 21,90),
Name('chris', 24,85),
Name('jane', 20,88)
]
from operator import attrgetter
for final in sorted(Name_tuples, key = attrgetter('age'), reverse = True): # age,score순 오름차순 정렬
print(final.printInfo())
>>>
chris 24 85
olivia 21 90
jane 20 88
'Language > Python' 카테고리의 다른 글
생성자(Constructor) (0) | 2020.12.10 |
---|---|
python swea 2005 파스칼의 삼각형 (0) | 2020.11.25 |
python swea 2056 연월일 달력 (0) | 2020.11.25 |
python swea 2068 최대수 구하기 (0) | 2020.11.25 |
python swea 2070 큰 놈, 작은 놈, 같은 놈 (0) | 2020.11.25 |