Python坐标生成器

  • 本文关键字:坐标 Python python
  • 更新时间 :
  • 英文 :


我需要根据给定的维度生成所有点的坐标,例如:

>>>points(2,2)
>>>[(0,0),(0,1),(1,0),(1,1)]
>>>points(1,1,1)
>>>[(0,0,0),(0,0,1),(0,1,0),(0,1,1),(1,1,0),(1,1,1)]

我已经看到了二维的解决方案,但无法找到一种方法使方法与维数无关:

>>> from itertools import product
>>> list(product(xrange(d) for d in (1,2,3)))
[(xrange(1),), (xrange(2),), (xrange(3),)] #where is my tuples?

其中(1,2,3)是*args元组,可以是任何值

调用函数使用可迭代对象作为参数列表时,需要使用*。f(*(1、2、3))就像f(1、2、3)

了解这一点,并使用itertools:

def points(*args):
  return list(product(*[range(n) for n in args]))

最新更新