operator 라이브러리의 itemgetter 메서드는 딕셔너리json파일의 키값이 아닌 벨류값으로 정렬을 수행하게 해준다.
lambda식으로 표현할 수도 있다.
students = [
("jane", 22, 'A'),
("dave", 32, 'B'),
("sally", 17, 'B'),
]
result = sorted(students, key=itemgetter(1))
[('sally', 17, 'B'), ('jane', 22, 'A'), ('dave', 32, 'B')]
인덱스로 소트.
students = [
{"name": "jane", "age": 22, "grade": 'A'},
{"name": "dave", "age": 32, "grade": 'B'},
{"name": "sally", "age": 17, "grade": 'B'},
]
result = sorted(students, key=itemgetter('age'))
[{'name': 'sally', 'age': 17, 'grade': 'B'}, {'name': 'jane', 'age': 22, 'grade': 'A'}, {'name': 'dave', 'age': 32, 'grade': 'B'}]
# age기준으로 sort
from operator import attrgetter
class Student:
def __init__(self, name, age, grade):
self.name = name
self.age = age
self.grade = grade
students = [
Student('jane', 22, 'A'),
Student('dave', 32, 'B'),
Student('sally', 17, 'B'),
]
# 객체의 경우 매개변수명으로 소트
result = sorted(students, key=attrgetter('age'))
'backend > Django&Python' 카테고리의 다른 글
[Django] DB설치하기 migration 익히기 (0) | 2021.08.25 |
---|---|
[Django] 프로젝트 생성하기, View, URLconf 만들기. (0) | 2021.08.24 |
[Error] django-admin 못찾을 때 (0) | 2021.08.23 |
[Python] 파이썬의 메모리 관리 : Garbage Collections (3) | 2021.08.19 |
[Python] Web Crwaling을 위한 지식. (0) | 2021.07.15 |