Первая и существенная ошибка - название переменной не должно быть list. Это название встроенной функции. Назови переменную mylist, если уж очень хочется.
range(0, 10) можно писать просто как range(10)
А вот это четырехкратное вложение for - это какую цель преследует?
Ну и последнее: а когда ты заполняешь array из списка - нельзя ли сразу в этом цикле применять и функцию? Зачем ещё раз проходить по массиву?
Проблема в том, что вы не читаете документацию. Вот и на нашем ресурсе вы не прочли рекомендации по оформлению вопросов и не знаете, что код надо публиковать не в виде ссылок или картинок, а в виде текста, окаймленного тэгом code.
Или вы думаете, кто-то захочет регистрироваться на посторонних ресурсах, чтобы ознакомиться с вашим кодом?
Кстати, у датчика есть еще вроде как выход ШИМ, на котором можно тоже данные считывать - надо будет пощупать, что там - если там идут данные, буду оттуда забирать и обрабатывать...
Я не могу проверить другой аналогичный датчик за неимением оного.
Мой датчик после выдачи этой строки просто ничего не делает - по крайней мере, не реагирует на команду выдачи данных. Но при этом он внутре живет своей жизнью - раз в 5 сек. зажигает лампочку внутри для проведения очередного измерения.
Я пытаюсь общаться с ним через micropython по UART. Если убрать датчик и закоротить TX и RX UARTа, данные проходят нормально. Если прицепить датчик - то кроме приведенной мною строки я на выходе датчика ничего не получаю. Я пробовал готовые строки-команды, но результат нулевой. Никакой реакции датчика.
Возможно, он находится действительно в каком-то хитром режиме. Поскольку он всё равно не может использоваться напрямую, буду пробовать залить в него ПО, раз уж он так хочет.
Если разберусь - отпишу дополнительно.
Выяснил, что это вроде как нормальное поведение датчика - его загрузчик всегда запрашивает в начале обновление прошивки, поэтому 20 секунд после включения он выдает вот эти строки. И, в принципе, прошивку можно сдампить. Тут подробности про команды и всё вот это вот.
О! Полагаю, надо попробовать залить её туда.
Можете порекомендовать, чем это можно сделать? У меня нет такого опыта.
Понадобится специальный программатор, или можно залить через имеющиеся tx и rx UART какой-либо ардуинкой? (Конечно, погуглю, но вдруг Вы сразу знаете).
В любом случае, полагаю, это хороший шаг вперёд, а то я уже думал я совсем тупой.
Metalhaker97, рискованно с точки зрения финансовой, т.к. не известно, в этом ли дело. Я лишь предположил вероятную причину отказа. Просто купить новый модуль - ну, можно, тыщи полторы новый стоит.
А если не в том дело? Что дальше?
bobs32, вы конкретизируйте вопрос, пожалуйста - вам дали рецепт, как получить массив типа: [(1, 2, 3), (4, 5, 6)]
а вам надо в определенном порядке, но не таком, как в предложенном варианте? А в каком именно? Вначале среднее значение, потом максимальное, потом минимальное?
Кстати, обратите внимание, что у вас исходный массив - это список (list), в нем два словаря (dict).
Вы хотите его же превратить в список, в который вложены два кортежа.
Тут могут быть следующие проблемы:
кортеж - это неизменяемая последовательность, в которой четко задано, что за чем идет.
а словарь - это просто словарь, в нем по-умолчанию не должно быть строгого порядка (может быть, но зависит от реализации и версии, в общем - не надежно). Поэтому в словаре ключи и их значения могут быть как попало расположены друг относительно друга.
И тогда встает вопрос - вам надо, чтоб значения из словаря просто сложились в кортежи как попало, или именно в каком-то определенном порядке? От этого сильно зависит реализация решения.
Как-нибудь пробовали и что не то получается?
Вообще, очень рекомендую "Изучаем Python" Марка Лутца - прям всё разжевано и таких вопросов точно не останется. Правда, книжка БОЛЬШАЯ. Но того стоит.
Но потом сам понял - лучше всего таки сидя. Приволок домой с офиса кресло Aeron - и теперь меня не уговорить работать лёжа.