cartesian-product- все статьи тега


Что такое запрос LINQ, чтобы получить декартово произведение, даже если один набор пуст?

Представьте, что у меня есть 2 списка, и один из них пуст: List<string> foo = new List<string>(){ "Ali","wall-e","Ellie" }; List<string> bar = new List<string>(); И я получаю декартово произведение 2: var q = from f in foo from b in bar select new {f,b}; Поскольку bar пуст, LINQ возвращает пустой результирующий набор. Вопрос : Как я могу написать приведенный выше запрос, чтобы получить этот результирующий набор: Ali,NULL Wall-e,NULL Ellie,NULL ...

Умножение каждого элемента одного массива на каждый элемент другого массива

Скажем, у меня есть два массива, import numpy as np x = np.array([1, 2, 3, 4]) y = np.array([5, 6, 7, 8]) Что самое быстрое, самое Питонское и т. д., прием. способ получения нового массива z с числом элементов, равным x.size * y.size, в котором элементы являются произведениями каждой пары элементов (x_i, y_j) из двух входных массивов. Перефразируя, я ищу массив z, в котором z[k] является x[i] * y[j]. Простой, но неэффективный способ получить это выглядит следующим образом: z = np.emp ...

Декартово произведение 2-х списков в Haskell

Я хочу создать декартово произведение 2 списков в Haskell, но я не могу понять, как это сделать. Декартово произведение дает все комбинации элементов списка: xs = [1,2,3] ys = [4,5,6] cartProd :: [a] -> [b] -> [(a,b)] cartProd xs ys ==> [(1,4),(1,5),(1,6),(2,4),(2,5),(2,6),(3,4),(3,5),(3,6)] Это не фактический вопрос домашнего задания и не связан с каким-либо таким вопросом, но способ, которым эта проблема решается, может помочь с тем, на котором я застрял. ...