다들 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차원리스트의 경우 각 멤버의 첫번째 값을 기준으로 한다는 것.
소수 구하기 복습 [파이썬] (0) | 2022.08.11 |
---|---|
순열과 조합 [파이썬] (0) | 2022.08.05 |
2차원 배열 정리 [sort] <파이썬> (0) | 2022.07.29 |
Counter().most_common() [리스트 최빈값 구하는 법] <파이썬> (0) | 2022.07.28 |
[파이썬] 숫자 거꾸로 뒤집기 (0) | 2022.07.15 |