str.maketrans()는 문자열의 각 문자를 다른 문자로 매핑(또는 변환)하기 위한 변환 테이블을 만드는 정적 메서드입니다.
이 변환 테이블은 str.translate() 메서드에 사용됩니다.
str.maketrans() 사용법
1. 두 개의 문자열 인자를 전달하는 경우
첫 번째 문자열의 각 문자를 두 번째 문자열의 해당 위치의 문자로 매핑합니다. 두 문자열은 동일한 길이를 가져야 합니다.
trans = str.maketrans("abc", "123")
여기서 'a'는 '1'로, 'b'는 '2'로, 'c'는 '3'로 매핑됩니다.
2. 세 개의 문자열 인자를 전달하는 경우
첫 번째와 두 번째 문자열은 위와 같이 매핑하고, 세 번째 문자열의 모든 문자를 제거합니다.
trans = str.maketrans("abc", "123", "d")
이 경우 'd'는 결과 문자열에서 제거됩니다.
3. 딕셔너리를 인자로 전달하는 경우
str.maketrans()는 직접 딕셔너리를 사용하여 변환 테이블을 생성할 수도 있습니다. 이 딕셔너리의 키는 유니코드 숫자값이고 값은 변환할 유니코드 숫자 값이거나 'None'입니다(제거하려는 경우)
trans = str.maketrans("abc", "123")
result = "abcd".translate(trans)
print(result) # 출력: "123d"
사용 예시
trans = str.maketrans("abc", "123")
result = "abcd".translate(trans)
print(result) # 출력: "123d"
여기서 "abcd"문자열에서 'a', 'b', 'c'는 각각 '1', '2', '3'으로 변환되고 'd'그대로 남아있어 "123d"가 출력됩니다.