1.sort() 정복하기
-리스트 안에 담긴 것들은 모두 기본으로 오름차순 정렬이 된다.(숫자, 문자, 문자열 전부 상관없이)
-아스키코드 기반으로 정렬하는 것이므로, 대문자가 소문자보다 먼저 오게 된다.
-내림차순을 하고 싶으면, reverse=True 를 속성으로 넣어주면 된다.
-2차원 배열부터는 어떤 것을 기준으로 배열할지 기준을 정해줘야한다. 이때 람다 함수를 사용한다.
c = sorted(a, key = lambda x: x[0]
#[(0, 1), (1, 2), (3, 0), (5, 1), (5, 2)]
d = sorted(a, key = lambda x : x[1])
# [(3, 0), (5, 1), (0, 1), (1, 2), (5, 2)]
#비교할 아이템이 요소가 복수 개일 경우, 튜플로 우선순위를 정해준다.
#게다가 -를 붙이면, 현재와 반대차순으로 정렬된다.
e = sorted(a, key= lambda x : (x[0], -x[1]))
#[(0, 1), (1, 2), (3, 0), (5, 2), (5, 1)]
f = sorted(a, key = lambda x : -x[0])
#[(5, 1), (5, 2), (3, 0), (1, 2), (0, 1)])
-sort(key=len) 이라고 하면, 문자열을 알파벳 순서대로 정렬해준다.
python 1181 단어정렬(실버5)
#1181 단어 정렬
N = int(input())
words=[input() for _ in range(N)]
words=set(words)
word_tuples=[]
for word in words:
word_tuples.append([word,len(word)])
word_tuples.sort(key= lambda x : (x[1], x[0]))
for word in word_tuples:
print(word[0])
n = int(input())
lst = []
for i in range(n):
lst.append(input())
lst.sort() ## 괄호 안에 아무 값도 넣지 않으면 알파벳 순서대로 정렬을 해 준다.
lst.sort(key = len) ## 문자열 길이 순으로 정렬.
for i in lst:
print(i)
'코딩테스트 준비 > Python' 카테고리의 다른 글
백준 알고리즘 스터디 커리큘럼 (0) | 2024.08.05 |
---|---|
[백준/python]11576.Base Conversion (0) | 2024.08.03 |
2004 python 조합 0의 개수 (2) | 2024.07.14 |
1764 듣보잡 python (0) | 2023.09.22 |
18111 마인크래프트 백준 python (0) | 2023.09.01 |