[TIL]21.09.09 Python sorted 함수의 활용
1. python sorted
word.find
word = 'abcdeaa'
print(sorted(word, key=word.find))
# >> ['a', 'a', 'a', 'b', 'c', 'd', 'e']
word = 'hello'
word2 = 'steve'
word = sorted(word, key=word.find)
word2 = sorted(word2, key=word2.find)
print(word, word2, sep='\n')
# >> ['h', 'e', 'l', 'l', 'o']
# >> ['s', 't', 'e', 'e', 'v']
key를 word.find로 했을 때 순서대로 확인하면서 등장하는 단어와 동일한 단어로 정렬해준다.
알파벳 순서와 상관없이 첫 등장한 위치부터 중복되는 단어를 순서대로 나열해주는 것이 특징이다.
lambda의 사용예시
1. 리스트에 str.lower()함수를 적용하여 정렬
words = ['a', 'Albert' ,'Chris', 'Brown']
print(sorted(words, key=lambda x : x.lower()))
# >> ['a', 'Albert', 'Brown', 'Chris']
리스트의 경우 위와 같은 방법으로 사용할 수 있다.
2. 딕셔너리에 키, 값을 기준으로 정렬
# key 기준 정렬
temp = {'c' : 1, 'a' : 5, 'b' : 3, 'd' : 2}
print(sorted(temp.items(), key=lambda x : x[0]))
# >> [('a', 5), ('b', 3), ('c', 1), ('d', 2)]
sorted 이후 튜플 리스트를 반환해준다.
만약 딕셔너리 형태로 다시 받고 싶다면 dict로 감싸주면 된다.
print(dict(sorted(temp.items(), key=lambda x : x[0])))
# >> {'a': 5, 'b': 3, 'c': 1, 'd': 2}
만약 값을 기준으로 정렬하고 싶다면 key=lambda x : x[1]
로 바꿔주면 된다.
위와 같이 여러가지 방법을 적용하여 정렬할 수 있다. 다만 mutable한 자료형이어야 한다.
Author And Source
이 문제에 관하여([TIL]21.09.09 Python sorted 함수의 활용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@rsj9987/TIL21.09.09-Python-sorted-함수의-활용저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)