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)

+ Recent posts