Что я конкретно пытаюсь сделать
symbol_list = ["....firstline.\\.||hi",
"pythonisasnake..\....",
"||||last.\\|line\\..."]
normal_list = ["ABCDfirstlineEFGHIJhi",
"pythonisasnakeKLMNOPQ",
"RSTUlastVWXYlineZABCD"]
В symbol_list
я хочу заменить символы буквой в соответствующей позиции в normal_list
, а я хочу заменить не-символы в списке на *
- Символы всегда будут
.
\
|
Ожидаемый результат:
new_list = ["ABCD*********EFGHIJ**",
"**************KLMNOPQ",
"RSTU****VWXY****ZABCD"]
Какое решение для этого?
Что я пытался сделать
Для обоих списков мне как-то нужно было получить доступ к каждому элементу в каждой строке, что казалось действительно сложным для выполнения. Я пытался начать это с петли для:
for symbol_row in symbol_list:
for symbol_item in symbol_row:
for normal_row in normal_list:
for normal_item in normal_row:
Это сбивало с толку, и кажется, что рекомендуется делать не более двух
Затем я попытался проверить одно из условий:
if symbol_item in (".","\\","|"): # because \ is an escape character
symbol_row = symbol_row.replace(symbol_item, normal_item)
Затем я добавил эту новую строку в new_list
, но мой список оказался в 10 раз длиннее, чем был до того, как я его распечатал
new_list.append(symbol_row)