相关疑难解决方法(0)

Numpy:x和y数组的笛卡尔积指向单个2D点阵列

我有两个numpy数组,定义网格的x和y轴.例如:

x = numpy.array([1,2,3])
y = numpy.array([4,5])
Run Code Online (Sandbox Code Playgroud)

我想生成这些数组的笛卡尔积来生成:

array([[1,4],[2,4],[3,4],[1,5],[2,5],[3,5]])
Run Code Online (Sandbox Code Playgroud)

在某种程度上,由于我需要在循环中多次执行此操作,因此效率不高.我假设将它们转换为Python列表并使用itertools.product并返回到numpy数组并不是最有效的形式.

python numpy cartesian-product

134
推荐指数
8
解决办法
5万
查看次数

对于多维范围,是否有Python等效范围(n)?

在Python上,range(3)将返回[0,1,2].是否存在多维范围的等价物?

range((3,2)) # [(0,0),(0,1),(1,0),(1,1),(2,0),(2,1)]
Run Code Online (Sandbox Code Playgroud)

因此,例如,循环通过基于图块的游戏上的矩形区域的图块可以写为:

for x,y in range((3,2)):
Run Code Online (Sandbox Code Playgroud)

注意我不是要求实现.我想知道这是否是一个公认的模式,如果在Python或它的标准/公共库上有内置函数.

python iteration numpy range

48
推荐指数
4
解决办法
2万
查看次数

标签 统计

numpy ×2

python ×2

cartesian-product ×1

iteration ×1

range ×1