https://school.programmers.co.kr/learn/courses/30/lessons/12915
=> value만 정렬하면 dict() 상태에서 정렬해도 되지만, key 값도 정렬하고 value 값도 정렬해야하기 때문에 items()써서 튜플로 만들어서 list로 만들어 줘서 해당 값을 정렬함!
def solution(strings, n):
result2=[]
array=dict()
for i in strings:
array[i]=i[n]
array2=list(array.items())
# items() 안하면 정렬 후 key만 표기해줌!
# (그러므로 key랑 value 둘 다 표기하고 싶을 땐 items()),
# 그래서 items()붙이고 list로 만들어서 제작함
array3=sorted(array2) # key 값으로 정렬하기
result=sorted(array3, key=lambda k : k[1]) # value 값으로 정렬하기
for key in result:
result2.append(key[0])
return result2
fruits = { 'apple': 2, 'banana' : 1, 'melon' : 0, 'pear' : 2, 'plum' : 1}
sorted(fruits)
['apple', 'banana', 'melon', 'pear', 'plum']
sorted(fruits.keys())
['apple', 'banana', 'melon', 'pear', 'plum']
이를 키가 아닌 값(value)를 기준으로 정렬하려면, sorted의 key 매개 변수에 lambda 함수를 사용하여 value 값을 기준으로 정렬하라고 하면 됩니다.
sorted(fruits, key=lambda k : fruits[k])
['melon', 'plum', 'banana', 'pear', 'apple']