본문 바로가기
카테고리 없음

파이썬 maketrans() : 문자열을 다른 문자열로 변환

by python pro 2023. 2. 21.
반응형

Python의 maketrans() 함수는 문자열을 다른 문자열로 변환할 때 사용하는 특수한 매핑 테이블을 만드는데 사용됩니다. 이 함수는 두 개의 문자열을 인자로 받아, 각 문자의 인덱스 위치에 대한 매핑 테이블을 반환합니다.

 

>>> string1 = "abc"
>>> string2 = "def"
>>> table = str.maketrans(string1, string2)
>>> print(table)
{97: 100, 98: 101, 99: 102}

이 예시에서, string1 은 "abc"이고, string2 는 "def"입니다. maketrans() 함수는 string1string2의 각 문자의 인덱스 위치에 대한 매핑 테이블을 만들어 반환합니다.

 

아래는 잘못 사용된 예시입니다.

>>> string1 = "abc"
>>> string2 = "defg"
>>> table = str.maketrans(string1, string2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: maketrans argument 1 and 2 must have equal length

이 예시에서, string1은 "abc"이고, string2는 "defg"입니다.

maketrans() 함수는 두 문자열의 길이가 같아야 한다는 제약 조건이 있습니다.

따라서, string1string2의 길이가 다르면 에러가 발생합니다.

 

중요한건 매핑 테이블을 반환한다는 것입니다.

 

아래에 또 다른 예제도 정리해봤습니다.

import string
text = "hello world"
translation_table = text.maketrans("abcdefghijklmnopqrstuvwxyz", "zyxwvutsrqponmlkjihgfedcba")
result = text.translate(translation_table)
print(result)
# Output: "olssv dliow"

위의 코드는 maketrans() 메소드를 사용하여 hello world 문자열에 대한 변환 테이블을 정의한 다음, 해당 테이블을 사용하여 hello world 문자열을 변환하는 예제 코드입니다. 출력 결과는 olssv dliow 입니다.

반응형

댓글