2.0 KiB
2.0 KiB
String
Méthode str.translate
La méthode str.translate permet d'appliquer une table de substitution à la chaine de caractères :
translation_dict = {ord('a'): ord('A'), ord('b'): "BBB", ord('c'): None}
print(f'{"aaa bbb ccc".translate(translation_dict) = }')
"aaa bbb ccc".translate(translation_dict) = 'AAA BBBBBBBBB '
La méthode de classe str.maketrans
La méthode de classe str.maketrans simplifie la création des tables de translation utilisées par str.stranslate en
supprimant la nécessité d'utiliser la fonction ord
:
# Without str.mktrans
translation_dict = {ord("0"): "1", ord("1"): "0"}
print(f'{"001011010101001".translate(translation_dict) = }')
# With str.maketrans (single argument)
translation_dict = str.maketrans({'0': '1', '1': '0'})
print(f'{"001011010101001".translate(translation_dict) = }')
# With str.maketrans (two arguments)
translation_dict = str.maketrans("01", "10")
print(f'{"001011010101001".translate(translation_dict) = }')
print(f'{"#0F45cd".translate(str.maketrans("abcdef", "ABCDEF")) = }')
"001011010101001".translate(translation_dict) = '110100101010110' "001011010101001".translate(translation_dict) = '110100101010110' "001011010101001".translate(translation_dict) = '110100101010110' "#0F45cd".translate(str.maketrans("abcdef", "ABCDEF")) = '#0F45CD'
Le dernier argument de str.maketrans permet de lister les caractères à remplacer par None
, à supprimer :
print(f'{"#0F45cd".translate(str.maketrans("abcdef", "ABCDEF", "#")) = }')
"#0F45cd".translate(str.maketrans("abcdef", "ABCDEF", "#")) = '0F45CD'