[Python] 리스트(list)에서 튜플(tuple)이나 객체(Object) 정렬하기

Python에서 리스트에 있는 튜플이나 만든 클래스를 통해서 생성한 객체를 정렬하는 방법을 알아보자.


환경 및 선수조건

  • Python(3.X)


sort()함수와 sorted()함수

  • Python에서 제공하는 정렬함수는 기본적으로 stable을 보장한다. (관련문서)


sort()

  • sort() : 현재 리스트를 정렬

a = [3,5,7,8,2,6]
a.sort()

sorted()

  • sorted() : 함수의 인자로 들어온 리스트를 정렬해서 반환

a = [3,5,7,8,2,6]
b = sorted(a) # b에 정렬된 리스트가 새로 생성됨


key 매개변수 이용하기

  • key매개변수를 이용하여 비교하기전에 함수를 정의 할 수 있다.
  • key매개변수는 하나의 인자를 갖는 함수여야하며 정렬에 사용할 key를 반환해야한다.


튜플(tuple)을 사용하는 경우


example_tuples = [ ('A', 3, 'a'), ('B', 1, 'b'), ('C', 2, 'c') ]

# 정렬
example_tuples.sort(key = lambda element : element[1])


객체(Object)를 사용하는 경우


class Example:
	def __init__(self, big, number, small):
		self.big = big
		self.number = number
		self.small = small

example_objects = [ Example('A', 3, 'a'), Example('B', 1, 'b'), Example('C', 2, 'c') ]

# 정렬
example_objects.sort(key = lambda object : object.number)


정렬 관련 기타

내림차순 정렬

  • sort( reverse=True ) : 현재 리스트를 내림차순으로 정렬

a = [3,5,7,8,2,6]
a.sort(reverse=True)


참고자료

[Docker] 도커(Docker) 이미지 이름과 태그 목록 가져오기

> 도커(Docker) 이미지 이름과 태그 목록을 awk과 tail 명령어를 이용해 가져오는 방법을 알아보자## 환경- Linux 기반 시스템- Bash shell(/bin/bash)- Docker- awk, tail 명령어## 도커(Docker...… Continue reading