-
Python List 자료형 변경과 Sort개발 이야기/알고리즘 및 코테 준비 2023. 1. 20. 14:37
Original list의 자료형을 변경
original_lst = ["1", "2", "3"] lst = list(map(int, original_lst))
map을 사용해서 자료형을 변경하면 된다. 이때 map은 map object를 반환하기에 list로 다시 감싸주어야한다.
map의 int에 해당하는 부분은 다른 함수로 변경 가능하다
List comprehension
python의 장점을 살린 list 기능. list에서 내가 원하는 요소를 추출해서 새로운 list를 만들고 싶을 때 주로 사용한다.
lst = [2,3,3,5,1,19] #newlist = [x for x in lst if ~] #짝수만 추출하기 new_lst = [x for x in lst if x%2==0]
fillter내장함수도 사용가능하다. 같은 방법으로 짝수만 추출하려면
lst = [2,3,3,5,1,19] #newlist = list(filter(function, lst)) #짝수만 추출하기 new_lst = list(filter(lamda x:x%2==0, lst))
Sort
python에서 sort를 사용해서 정렬을 하는 경우가 꽤 많다.
sort는 기본적으로 오름차순 정렬이다.
-reverse
기본적으로 오름차순 정렬인 sort를 reverse=True로 하면 내림차순으로 변형가능
-key
정렬의 기준을 설정, lamda x:~로 내가 원하는 함수로 정렬가능하다
만일 x 값이 동일하면(기준에서) index순으로 정렬한다 (백준 10814 https://www.acmicpc.net/)
lst = [2,3,4,5,19,1,45,0] lst.sort() #[0, 1, 2, 3, 4, 5, 19, 45] lst.sort(reverse=True) #[45, 19, 5, 4, 3, 2, 1, 0] lst.sort().reverse() #[45, 19, 5, 4, 3, 2, 1, 0] lst.sort(key=len) #key를 통해 정렬 기준을 정할 수 있음 #2중list 정렬 array = [[50, "apple"], [30, "banana"] , [400, "melon"]] array.sort(key = lambda x:x[0]) #[[30, 'banana'], [50, 'apple'], [400, 'melon']] #다중조건 정렬 array.sort(key = lambda x:(x[0], x[1])) #[[30, 'banana'], [50, 'apple'], [400, 'melon']]
'개발 이야기 > 알고리즘 및 코테 준비' 카테고리의 다른 글
[알고리즘 실습환경 구축] 알고리즘 튜토리얼 및 개요 (9) 2024.09.03 python 우선순위 que vs 힙 자료구조 (0) 2023.01.27 Python Counter와 Counter 사용 문제(백준 2108, 최빈값 찾기) (0) 2023.01.24 python 2중 배열 문제&행,열 다루기 (0) 2023.01.11 python 369를 하자 (0) 2023.01.06