Мне нужно написать регулярное выражение, которое преобразует каждую нечетную запятую в двоеточие в python.
Например,
"[2, 0.2520474110789976, 8, 0.25215388264234934, 3, 0.3560689678084889, 1, 0.3573715347893714, 4, 0.5626369616327825, 5, 0.793617535995843]"
преобразуется в
"[2: 0.2520474110789976, 8: 0.25215388264234934, 3: 0.3560689678084889, 1: 0.3573715347893714, 4: 0.5626369616327825, 5: 0.793617535995843]"
Iперешел другие вопросы на StackOverflow и нашел следующий вопрос.Тем не менее, версия JS не работает в Python.
Regex - заменить все нечетные вхождения запятой
Я сделал следующее, основываясь на ссылке выше
pattern = "(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)(,)(.*?,|)(?=.*?(?:,|$))"
stringa = re.sub(pattern,": ",flat_list_string)
и получил вывод
"2: 8: 3: 1: 4: 5: 0.793617535995843"
вместо того, что упоминалось ранее.
Я довольно новичок в Regex, поэтому сам не пробовал.Буду признателен за любую помощь.Спасибо.
Обновление1: вставил мой неверный вывод