Мою проблему немного сложно объяснить словами, поэтому, пожалуйста, потерпите меня, пока я стараюсь изо всех сил.У меня есть массив «а», и я пытаюсь написать кусок кода, который скажет, когда каждый компонент работает и если несколько компонентов вышли из строя одновременно.Вы можете увидеть, когда произошел сбой компонента, если он говорит C1NW, поскольку это означает «Компонент 1 не работает», или когда компонент работает, он скажет C2W, что означает «Работа компонента 2».Как видно из списка «а», они уже отсортированы по временному порядку, поэтому в момент времени 1067 компонент 2. не работает.
a = [ [1067.8420440505633, 'C2NW'], [1287.3506292298346, 'C1NW'], [1363.9930359848377, 'C2W'], [1483.1371597306722, 'C1W'], [1767.6648314715849, 'C2NW']
В идеале, я хотел бы получить массив «Временная линия» с'Компонент работает или нет' массив для сравнения.По сути, я хотел бы получить массив, который выглядит следующим образом:
TimeLine = [1067.8420440505633, 1287.3506292298346, 1363.9930359848377, 1483.1371597306722, 1767.6648314715849]
WorkingOrNot = [ C2NW, C1NWC2NW, C1NWC2W, C1WC2W, C1WC2NW]
Массив WorkingOrNot поступает из каждой точки, поэтому, посмотрев «список 2 из», вы заметите, что C1 не работает, а C2 все ещееще не работает (Список 1 показывает, что C2 не работает, и он не начинает работать, пока список 3 из), поэтому вывод должен быть C1NWC2NW, так как оба компонента не работают в настоящее время.Я знаю, что могу получить массив «Time Line» с помощью:
TimeLine = [item[0] for item in a]
Однако я не уверен, как получить другой массив, так как это будет означать сканирование за списком, чтобы проверить, работает ли определенный компонентили нет.Я надеюсь, что я объяснил это достаточно хорошо, если нет, пожалуйста, прокомментируйте, если вы хотите, чтобы я перефразировал, поскольку я действительно изо всех сил пытался объяснить это.
Заранее спасибо, Бен