여러 문자 한 번에 치환하기

text = "apple banana cherry apple banana cherry"
text = text.replace("apple", "orange").replace("banana", "kiwi")
print(text)
# "apple"을 "orange"로, "banana"를 "kiwi"로 치환
# replace() 메소드는 치환한 결과를 반환하기 때문에 이를 변수에 할당해줘야 함

str.maketrans(), str.translate()

문자열에서 여러 문자를 한꺼번에 치환가능

table = {'a': '1', 'e': '2', 'i': '3', 'o': '4', 'u': '5'}
text = "apple orange kiwi"
table_key = ''.join(list(table.keys())) #문자열로 변경 'aeiou'
table_value = ''.join(list(table.values())) #문자열로 변경 '12345'
new_text = text.translate(str.maketrans(table_key,table_value))
print(new_text)
hi = "Hello, World!"
table = str.maketrans('HWd', '123')
hi.translate(table) # "1ello, 2orl3!"

re.sub()

apple, banana 모두 orange로 치환

import re

text = "apple banana cherry apple banana cherry"
text = re.sub("(apple|banana)", "orange", text)
print(text) # orange orange cherry orange orange cherry

collections 모듈

counter()

from collections import Counter
list = ['Hello', 'HI', 'How', 'When', 'Where', 'Hello']
print(Counter(list))
>>> Counter({'Hello': 2, 'HI': 1, 'How': 1, 'When': 1, 'Where': 1})

파이썬[Python] Counter 함수 - collections 모듈 / 알파벳 사용빈도 확인

itertools 모듈

[Python] 순열(permutations )과 조합(combinations)