본문 바로가기
Python/Data Structure & Algorithm in Python

[Python 기초] 정렬 (sort)

by Air’s Big Data 2020. 9. 5.

#알파벳, 숫자 크기 순으로 정렬

L=['abcd','xyz','spam']
sorted(L)
#Out: ['abcd', 'spam', 'xyz']
L=[3,7,2,7,1,7]
L.sort()
L
#Out: [1, 2, 3, 7, 7, 7]

 

 

#lambda : 익명함수

(lambda x,y: x + y)(5, 6)
#Out: 11

 

 

▼ 익명 함수 lambda 활용법 더보기

더보기

#map()

list(map(lambda x: x ** 2, range(5)))     # 파이썬 2 및 파이썬 3
#Out: [0, 1, 4, 9, 16]

 

#reduce()

from functools import reduce   
reduce(lambda x, y: x + y, [0, 1, 2, 3, 4])
#Out: 10
reduce(lambda x, y: y + x, 'abcde')
#Out: 'edcba'

 

 

#filter()

list(filter(lambda x: x < 5, range(10))) 
#Out: [0, 1, 2, 3, 4]

 

 

 

#정렬의 순서를 반대로

L=[3,4,2,0,1,8]
L2 = sorted(L,reverse=True)
L2
#Out: [8, 4, 3, 2, 1, 0]
L=[3,4,2,0,1,8]
L.sort(reverse=True)
L

#Out: [8, 4, 3, 2, 1, 0]

 

 

#튜플의 정렬

a = [(1, 2), (0, 1), (5, 1), (5, 2), (3, 0)]
sorted(a, key = lambda x : x[0])#튜플 앞에 숫자의 크기가 작은 순서대로 정렬
#Out: [(0, 1), (1, 2), (3, 0), (5, 1), (5, 2)]

 

a = [(1, 2), (0, 1), (5, 1), (5, 2), (3, 0)]
sorted(a, key = lambda x : x[1]) #튜플 뒤에 숫자의 크기가 작은 순서대로 정렬
#[(3, 0), (0, 1), (5, 1), (1, 2), (5, 2)]

 

 

#길이 순서대로 정렬

L = ['abcd','xyz','spam']
sorted(L,key=lambda x: len(x)) #길이순서대로 정렬
#Out: ['xyz', 'abcd', 'spam']

 

 

#키를 지정하여 딕셔너리 정렬 

L = [{'name':'John','score':83},{'name':'Paul', 'score':92}]
L.sort(key=lambda x:x['name']) #이름 순으로 정렬
L
#Out: [{'name': 'John', 'score': 83}, {'name': 'Paul', 'score': 92}]
L = [{'name':'John','score':90},{'name':'Paul', 'score':50}]
L.sort(key=lambda x:x['score']) #점수 순으로 정렬
L
#Out: [{'name': 'Paul', 'score': 50}, {'name': 'John', 'score': 90}]

 

댓글