떵호
seongho'Dev
떵호
전체 방문자
오늘
어제
  • 분류 전체보기 (116)
    • 회고 (2)
    • Algorithm (74)
      • 프로그래머스 (65)
      • 백준(BOJ) (2)
      • Note (7)
    • 기술독서 (25)
      • Clean Code (11)
      • 자바의 정석 (8)
      • 대규모 시스템 설계 기초 (6)
    • Computer Science (1)
      • Operating System (1)
    • Typescript (1)
    • JAVA (0)
    • Spring (6)
      • JPA (6)
    • AWS (2)
    • Git (2)
    • Etc (2)

블로그 메뉴

  • github

티스토리

태그

  • JPA
  • 알고리즘
  • Clean Code
  • 카카오 코테
  • 클린코드
  • 프로그래머스
  • 자바의 정석
  • 코딩테스트 준비
  • 완전탐색
  • 구현
hELLO · Designed By 정상우.
떵호
Algorithm/Note

[Python] 리스트에서 객체 및 튜플 정렬

[Python] 리스트에서 객체 및 튜플 정렬
Algorithm/Note

[Python] 리스트에서 객체 및 튜플 정렬

2022. 6. 14. 00:37
728x90

Goal

파이썬의 객체 리스트, 튜플 리스트 정렬

sort()

  • 자신 리스트를 정렬
a = [5, 341, 6, 1, 4]

a.sort()

sorted()

  • 함수 argument로 들어온 리스트를 정렬해서 반환
a = [5, 341, 6, 1, 4]

b = sorted(a)

 

key 매개변수를 이용한 정렬

  • 어떠한 요소를 기준으로 정렬

튜플(tuple) 정렬

tuple = [(1, b), (4, z), (3, a), (1, a)]

tuple.sort(key=lambda x: (x[0], x[1]))

# 정렬결과: [(1, 'a'), (1, 'b'), (3, 'a'), (4, 'z')]

코드 설명

  • x[0] 기준으로 먼저 정렬하고 같은 값이 존재할 경우 x[1]를 기준으로 정렬한다.

객체(object) 정렬

class File:
    def __init__(self, filename, head, number, tail, index):
        self.filename = filename
        self.head = head
        self.number = number
        self.tail = tail
        self.index = index


file = [File("foo10.txt", "foo", 10, ".txt", 2), File("foo10.txt", "foo", 10, ".txt", 1),
        File("foo9.txt", "foo", 9, ".txt", 0)]

file.sort(key=lambda x: (x.head, x.number, x.index))

for f in file:
    print(f.filename + " " + f.head + " " + str(f.number) + " " + f.tail + " " + str(f.index))
  
# 정렬결과
# foo9.txt foo 9 .txt 0
# foo10.txt foo 10 .txt 1
# foo10.txt foo 10 .txt 2
  • 튜플은 인덱스로 인자를 넘기지만 하지만 객체는 필드로 인자를 넘긴다.
728x90
저작자표시

'Algorithm > Note' 카테고리의 다른 글

[IntelliJ] 인텔리제이 단축키 (mac 기준)  (0) 2022.04.12
[Java] 코테 준비 - 클래스 객체 배열 정렬하기 - Comparable<E>  (0) 2022.04.10
[Java] 코테 준비 - binary to decimal과 decimal to binary  (0) 2022.02.20
[Java] Map for-each문 사용 방법  (0) 2022.02.08
[C++] 코테 준비 - 문자열 분리  (0) 2022.02.08
  • Goal
  • sort()
  • sorted()
  • key 매개변수를 이용한 정렬
  • 튜플(tuple) 정렬
  • 객체(object) 정렬
'Algorithm/Note' 카테고리의 다른 글
  • [IntelliJ] 인텔리제이 단축키 (mac 기준)
  • [Java] 코테 준비 - 클래스 객체 배열 정렬하기 - Comparable<E>
  • [Java] 코테 준비 - binary to decimal과 decimal to binary
  • [Java] Map for-each문 사용 방법
떵호
떵호

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.