Мне не удалось определить метод Pythonic для создания списка с использованием списка из нескольких списков. Я пытаюсь создать список, который реализует следующие функции:Сопоставление списков с использованием нескольких списков
VBAT = Vmax - а + Ь + с
Где Vmax является константой, а, б и в списки. Я надеялся, что я мог бы сделать то, что легко читать так:
vbat = [Vmax - x + y + z for x in a and y in b and z in c]
Я знаю, что я могу использовать оператор карты, чтобы сделать новый комбинированный список, а затем использовать список понимание в новом списке, но это кажется немного уродливым и трудночитаемым. Код, который я знаю, что буду работать показано ниже:
newlist = map(sub,map(add,b,c),a)
vbat = [Vmax + x for x in newlist]
Есть ли решение этой проблемы, что является дружественным для читателя? Заранее спасибо.
Вы имеете в виду продукт? Затем просто вставьте петли 'for', слева направо:' для x в a для y в b для z в c'. 'Map()' предполагает, что вы ищете 'zip()' вместо этого: 'для x, y, z в zip (a, b, c)' –
Я не уверен, что вы имеете в виду продукт, Я просто хочу вычесть элемент списка a и добавить элементы списков b и c в скаляр и вернуть новый список. Ответ, приведенный ниже, выполняет задачу, о которой я говорил, спасибо за ваш ответ. – Kevin