Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 딕셔너리에서 키 길이를 자르는 방법

Python 딕셔너리의 키 길이를 잘라내야 할 때는 딕셔너리 컴프리헨션(list comprehension 개념)을 활용하면 간단하게 해결할 수 있습니다. 기존 딕셔너리의 키와 값을 하나씩 순회하면서, 키를 원하는 길이만큼 슬라이싱한 새로운 딕셔너리를 생성하는 방식입니다.

예제 코드

아래 함수는 딕셔너리의 모든 키를 지정한 길이로 잘라 새로운 딕셔너리를 반환합니다.

def truncate_keys(a, length):
    return {k[:length]: v for k, v in a.items()}

a = {'foo': 125, 'bar': 'hello'}
b = truncate_keys(a, 2)
print(b)

실행 결과

위 코드를 실행하면 다음과 같은 출력을 얻을 수 있습니다.

{'fo': 125, 'ba': 'hello'}

주의할 점: 키 이름 충돌

키를 자를 때는 이름 충돌(name collision)에 주의해야 합니다. 서로 다른 두 키가 동일한 접두사(prefix)를 가지고 있다면, 잘린 후 같은 키가 되어 나중에 처리된 값이 먼저 처리된 값을 덮어쓰게 됩니다.

예를 들어 {'apple': 1, 'apply': 2}를 길이 3으로 자르면 두 키 모두 'app'가 되어 하나의 값만 남게 됩니다. 이런 상황이 발생할 가능성이 있다면, 충돌 여부를 미리 검사하거나 고유한 접미사를 붙이는 등의 추가 처리가 필요합니다.