05-18 01:37
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Entity Set
- 자바
- External Scheme
- Entity
- Polymolphism
- descriptive statistics
- 백준
- Unity
- Physical Scheme
- BFS
- python
- 리눅스
- 리눅스 마스터 1급
- Class
- OOP
- X.org
- Reference Type
- systemd
- spring
- preprocessing
- 셀레니움
- Java
- selenium
- dbms
- Inheritance
- Operator
- Binary Search
- literal
- Mac
- X윈도우
Archives
- Today
- Total
Byeol Lo
operator 모듈의 itemgetter, attrgetter 사용하기 본문
from operator import itemgetter, attrgetter
student_tuples = [
('수학', 105),
('영어', 140),
('과학', 133),
('국어', 100)
]
class Student :
def __init__(self, name, grade, age) :
self.name = name
self.grade = grade
self.age = age
def __repr__(self) :
return repr((self.name, self.grade, self.age))
student_objects = [
Student('홍길동', "A+", 22),
Student('아이유', "A0", 20),
Student('김구', "A+", 21),
Student('야스오', "C+", 20)
]
sorted_student_tuples = sorted(student_tuples, key=lambda student: student[1])
itemgetter_student_tuples = sorted(student_tuples, key=itemgetter(1))
print(sorted_student_tuples == itemgetter_student_tuples)
sorted_student_objects = sorted(student_objects, key=lambda student: (student.grade, student.age))
attrgetter_student_objects = sorted(student_objects, key=attrgetter("grade", "age"))
print(sorted_student_objects == attrgetter_student_objects)
def multisort(xs, specs) :
for key, reverse in reversed(specs) :
xs.sort(key=attrgetter(key), reverse=reverse)
return xs
print(multisort(list(student_objects), (('grade', True), ('age', False))))
'Programming Language > Python' 카테고리의 다른 글
백준 많은 직사각형에 대해 외곽만 그리기 (0) | 2022.08.29 |
---|---|
Python functools 함수들 (0) | 2022.07.26 |
Numpy 라이브러리 사용 (0) | 2022.06.15 |
셀레니움에서 로딩 기다리기 (0) | 2022.06.13 |
셀레니움 로그 남기지 않기 (0) | 2022.06.04 |
Comments