#알파벳, 숫자 크기 순으로 정렬
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}]
'Python > Data Structure & Algorithm in Python' 카테고리의 다른 글
[Python 자료구조] 연결리스트 (Linked List) (0) | 2020.09.09 |
---|---|
[Algorithm] 동적계획법(Dynamic programming) - Brute Force, Kadane’s Algorithm (0) | 2020.09.06 |
[Python 기초] 재귀 알고리즘 (recursive algorithms) (0) | 2020.09.06 |
[Python 기초] 탐색 (search) (0) | 2020.09.06 |
[Python 기초] 연결리스트 (Linked List) (0) | 2020.08.10 |
댓글