상세 컨텐츠

본문 제목

리스트 안에 있는 문자열들을 글자 수 대로 정렬하는 법! [파이썬]

파이썬

by 덴마크 당나귀 2022. 7. 30. 23:22

본문

728x90

다들 sort ,sorted ,set 이런 정렬 함수들은 알 것입니다. 

그러나 그 함수들의 인자들이 들어가면서 그 함수들이 어떤 기능을 할 수 있을지는 모릅니다!

그래서 이번에 저도 공부를 하다 막히는 부분이 있다보니 검색을 통해 알게 된 부분이 있어 제 블로그에 올립니당

sort(key = len)으로 인자를 주면 리스트 안에 있는 문자열 값들이 글자수 즉, 문자열의 길이에 따라 

정렬이 됩니다!

 

import sys
n = int(input())
l = []
for i in range(n):
    temp = sys.stdin.readline()
    temp = temp.strip()
    l.append(temp)
l.sort(key = len)
print(l)

 

이건 제가 문제를 풀고 있던 백준 1181번 인데, 

이 문제가 여러 단어를 입력 받고 그 단어들을 글자수를 기준으로 오름차순으로 출력하라는 문제였습니다.

그래서 이렇게 풀었답니다!!

 

 

++ 

추가로 이 문제를 풀려면 이렇게 일단 중복 없애주고, 저렇게 문자 순서대로 정렬하기 전에, 

멤버들이 다 문자열이므로, 사전순에 맞게 먼저 리스트를 정렬해주고,

문자수대로 정렬해줘야 한다!

 

++ 

예를 들어 a라는 리스트가 있다면, 이 것을 어떤 기준점을 두고 정렬을 하고 싶다면,

a.sort(key = lambda x : x[0])--> 여기서 기준은 2차원리스트의 경우 각 멤버의 첫번째 값을 기준으로 한다는 것.

728x90

관련글 더보기