У меня есть следующие списки 3 Python:Python заменить элементы списка в 2 списках, в индексах подстрок в 3-й список
cl_ambient = ['BRy', 'WilmB', 'Hgan', 'FoVx', 'Afree', 'FoVx_d', 'Afree_d']
temp_farh = ['grey', 'DarkOrange', 'r', 'black', 'black', 'black', 'black']
manual_calib = ['white', 'white', 'white', 'blue', 'yellow', 'green', 'darkgreen']
Все 3 списка всегда будут иметь одинаковую длину.
Start со списком cl_ambient
:
Мне нужно найти индексы элементов в cl_ambient
, которая является составляющей другого элемента. В этом случае индексы таких элементов имеют индексы 3,5 (Fovx, Fovx_d) и 4,6 (Afree, Afree_d).
Теперь, когда эти показатели будут найдены, нужно использовать эти показатели, чтобы сделать замену в обеих 2 других списках:
Мне нужно заменить более высокий индекс элемент из 2 других списков (temp_farh
и manual_calib
) с нижним индексным элементом из списка manual_calib
. Итак, если мы сделаем это вручную, замены должны быть:
temp_farh[5] = temp_farh[3]
temp_farh[6] = temp_farh[4]
manual_calib[5] = temp_farh[3]
manual_calib[6] = temp_farh[4]
Мне нужно сделать эти замены программным путем. Я не могу сделать это вручную, так как списки могут быть довольно длинными.
Обязательный выход:
Вывод должен быть:
cl_ambient = ['BRy', 'WilmB', 'Hgan', 'FoVx', 'Afree', 'FoVx_d', 'Afree_d']
temp_farh = ['grey', 'DarkOrange', 'r', 'black', 'black', 'blue', 'yellow']
manual_calib = ['white', 'white', 'white', 'blue', 'yellow', 'blue', 'yellow']
Вопрос:
Есть ли способ, чтобы извлечь эти подстроку элементы программно из этих 3-х списков?
Дополнительная информация:
- Согласно комментарий ниже, я добавлю это: не будет сценарий, при котором более 2 подстроки существует в
cl_ambient
списке. Пример:FoVx
,FoVx_d
,FoVx_a
не существует. Будет толькоFovx_d
ИЛИFovx_a
. - Подстрока всегда будет перед более длинным элементом в списке
cl_ambient
.
Что делать, если в 'cl_ambient' имеется более 2 подстрок. Пример: 'FoVx'' FoVx_d' 'FoVx_a' то что будет? – MooingRawr
Спасибо за примечание. Этот сценарий будет недоступен в списке 'cl_ambient'. Я добавлю это в ОП, Большой вопрос. –
Является ли подстрока всегда перед более длинным элементом? –