Я работаю в Python и у меня есть список списков (или может быть также NumPy массива), как это:Карта функции части Подсписка питон
list = [[0, 0, -1], [1, 1, -2], [1, 2, -3], [2, 2, -4]]
У меня есть функция, которая принимает для каждого вывести первые два элемента и дать результат. Предположим, что функция Я принимаю о том, сумма() так, что я хочу сделать, это
list1 = [[sum(0, 0), -1], [sum(1, 1), -2], [sum(1, 2), -3], [sum(2, 2), -4]]
и выход
list1 = [[0, -1], [2, -2], [3, -3], [4, -4]]
Есть ли способ это с map
или numpy.vectorize
? Я уже могу сделать это как цикл, но это слишком дорого для моих реальных данных.
Любая помощь, совет?
Для фактического повышения производительности, это помогло бы знать об осуществлении фактической функции в контексте. – Divakar
или если вы действительно хотите использовать карту, 'map (lambda x: [sum (x [0: 1]), x [2]], list)' –
Функция просто принимает 2 координаты, первые два значения и выполняет побитовое перемежение для создания своего рода хэша (morton code https://en.wikipedia.org/wiki/Z-order_curve) из координат. Я думаю, что если это сработает для суммы, я смогу применить ее к моей фактической функции. –