Weekly backup.

This commit is contained in:
2022-06-04 12:57:39 +02:00
parent e552583393
commit 015b896f65
68 changed files with 3530 additions and 27 deletions

52
20220528110814-string.org Normal file
View File

@@ -0,0 +1,52 @@
:PROPERTIES:
:ID: 8b686fdd-2abd-459d-8d8d-0c57915de8fb
:mtime: 20220528112853
:ctime: 20220528110814
:END:
#+title: String
* Méthode /str.translate/
La méthode /str.translate/ permet d'appliquer une table de substitution à la chaine de caractères :
#+BEGIN_SRC python :results output
translation_dict = {ord('a'): ord('A'), ord('b'): "BBB", ord('c'): None}
print(f'{"aaa bbb ccc".translate(translation_dict) = }')
#+END_SRC
#+RESULTS:
: "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~ :
#+BEGIN_SRC python :results output
# 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")) = }')
#+END_SRC
#+RESULTS:
: "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 :
#+BEGIN_SRC python :results output
print(f'{"#0F45cd".translate(str.maketrans("abcdef", "ABCDEF", "#")) = }')
#+END_SRC
#+RESULTS:
: "#0F45cd".translate(str.maketrans("abcdef", "ABCDEF", "#")) = '0F45CD'
* Références
* [[https://mathspp.com/blog/pydonts/string-translate-and-maketrans-methods][String translate and maketrans methods - Pydon't]]