Ce que j'essaie de faire spécifiquement
symbol_list = ["....firstline.\\.||hi",
"pythonisasnake..\....",
"||||last.\\|line\\..."]
normal_list = ["ABCDfirstlineEFGHIJhi",
"pythonisasnakeKLMNOPQ",
"RSTUlastVWXYlineZABCD"]
Dans le symbol_list
Je veux remplacer les symboles par la lettre qui se trouve à la position correspondante dans le document normal_list
et je veux remplacer les non-symboles dans la liste par un *
- Les symboles seront toujours
.
\
|
Le résultat attendu :
new_list = ["ABCD*********EFGHIJ**",
"**************KLMNOPQ",
"RSTU****VWXY****ZABCD"]
Quelle est la solution pour y parvenir ?
Ce que j'ai essayé de faire
Pour les deux listes, je devais en quelque sorte accéder à chaque élément de chaque ligne, ce qui me semblait vraiment compliqué à faire. J'ai essayé de commencer avec des boucles for :
for symbol_row in symbol_list:
for symbol_item in symbol_row:
for normal_row in normal_list:
for normal_item in normal_row:
C'était déroutant et il semble qu'il soit recommandé de faire au maximum deux
J'ai ensuite essayé de vérifier l'une des conditions :
if symbol_item in (".","\\","|"): # because \ is an escape character
symbol_row = symbol_row.replace(symbol_item, normal_item)
Puis j'ai ajouté cette nouvelle ligne à new_list
mais ma liste est devenue 10 fois plus longue qu'avant après l'avoir imprimée.
new_list.append(symbol_row)