Python 딕셔너리 키/값을 기준으로 정렬하기
🧑‍💻 𝗣𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗶𝗻𝗴/Python

Python 딕셔너리 키/값을 기준으로 정렬하기

딕셔너리를 정렬할 때 쓰는 방법입니다.
Key 혹은 Value 를 기준으로 정렬할 수 있습니다. 정렬은 오름차순 혹은 내림차순으로 정렬합니다.

 

 

 Document 

 

내장 함수 — Python 3.10.0 문서

내장 함수 파이썬 인터프리터에는 항상 사용할 수 있는 많은 함수와 형이 내장되어 있습니다. 여기에서 알파벳 순으로 나열합니다. abs(x) 숫자의 절댓값을 돌려줍니다. 인자는 정수, 실수 또는 __

docs.python.org

sorted Document

  • 블로그를 쓸 때 참고한 Document 입니다.
  • 자세한 설명이 필요하시다면 링크를 타시고 읽어보시는 것을 추천 드립니다.

 

 

 key(키) 만 정렬하기 

예시 코드

df = {
    1: 'b', 4: 'c',
    2: 'a', 3: 'd'
}

# 키만 정렬
df_keys = sorted(df.keys())
print(df_keys)

출력 결과

[1, 2, 3, 4]
  • 키만 정렬할 때는 df.keys() 를 이용하여 정렬할 수 있습니다.

 

 

 Value(값) 만 정렬하기 

예시 코드

df = {
    1: 'b', 4: 'c',
    2: 'a', 3: 'd'
}

# 값만 정렬
df_values = sorted(df.values())
print(df_values)

출력 결과

['a', 'b', 'c', 'd']
  • 값만 정렬할 때는 df.values() 를 이용하여 정렬할 수 있습니다.

 

 

 key 와 Value 출력하기 

예시 코드

df = {
    1: 'b', 4: 'c',
    2: 'a', 3: 'd'
}

# 키와 값 둘다 출력하기
for k, v in df.items():
    print(k, v)

print()
# 키와 값 쌍 튜플
print(df.items())

출력 결과

# 키와 값 쌍 둘다 출력
1 b
4 c
2 a
3 d

# 키와 값 쌍 튜플
dict_items([(1, 'b'), (4, 'c'), (2, 'a'), (3, 'd')])
  • 키와 값 모두 출력할 때는 df.items() 를 사용합니다.
  • tuple(튜플)로 반환이 됩니다.

 

 

 Key(키) 를 기준으로 출력하기 

예시 코드

df = {
    1: 'b', 4: 'c',
    2: 'a', 3: 'd'
}

# 값을 기준으로 정렬
# 내림차순
result1 = sorted(df.items(), key = lambda x : x[0])
print(result1)

#오름차순
result2 = sorted(df.items(), key = lambda x : x[0], reverse=True)
print(result2)

출력 결과

[(1, 'b'), (2, 'a'), (3, 'd'), (4, 'c')] # 내림차순
[(4, 'c'), (3, 'd'), (2, 'a'), (1, 'b')] # 오름차순
  • sorted() 함수의 key 속성을 사용하여 키와 값 중에 어느 것을 기준으로 할 지 결정합니다.
  • 값을 기준으로 한다면, 딕셔너리에서 현재 0 인덱스에 인덱싱되어 있으므로 x[0] 을 속성 값으로 넣습니다.

 

 

 Value(값) 를 기준으로 출력하기 

예시 코드

df = {
    1: 'b', 4: 'c',
    2: 'a', 3: 'd'
}

# 값을 기준으로 정렬
# 내림차순
result1 = sorted(df.items(), key = lambda x: ord(x[1]))
print(result1)

#오름차순
result2 = sorted(df.items(), key = lambda x: ord(x[1]), reverse=True)
print(result2)

출력 결과

[(2, 'a'), (1, 'b'), (4, 'c'), (3, 'd')] # 내림차순
[(3, 'd'), (4, 'c'), (1, 'b'), (2, 'a')] # 오름차순
  • sorted() 함수의 key 속성을 사용하여 정렬합니다.
  • lambda() 를 이용하면 키와 값 중 어느 조건을 기준으로 할지 결정할 수 있습니다.
  • 만약 값이 숫자로 되어있다면, lambda x : x[1]로 정렬할 수 있습니다.
  • x[1]을 쓰는 이유는 값이 Key 와 Value 쌍 튜플에서 1로 인덱싱되어 있기 때문입니다.

 

 

 

 

 

 딕셔너리 키 기준으로 정렬 # 딕셔너리 값 기준으로 정렬 # 딕셔너리 정렬

python dictionary sorted python 딕셔너리 sort


 

728x90