在这样的数组中生成几千个随机位置的数组,例如python中的(3,75)和(56,34)

在这样的数组中生成几千个随机位置的数组,例如python中的(3,75)和(56,34),python,arrays,list,random,coordinates,Python,Arrays,List,Random,Coordinates,到目前为止,我创建了两个数据点列表,分别标记为x和y。我不知道如何将它们组合成一个数组,这样它们就是坐标 import random import pylab x = [(random.randint(0,100)) for i in range(3000)] y = [(random.randint(0,100)) for j in range(3000)] 您可以使用: 范围(3000)内的i的x=[(random.randint(0100))] >>>y=[(random.randin

到目前为止,我创建了两个数据点列表,分别标记为x和y。我不知道如何将它们组合成一个数组,这样它们就是坐标

import random
import pylab

x = [(random.randint(0,100)) for i in range(3000)]
y = [(random.randint(0,100)) for j in range(3000)]
您可以使用:

范围(3000)内的i的x=[(random.randint(0100))] >>>y=[(random.randint(0100))表示范围(3000)内的j] >>>coords=zip(x,y) >>>莱恩(库兹) 3000 >>>类型(坐标[0]) >>>coords[0] (54, 0) >>> 您可以使用:

范围(3000)内的i的x=[(random.randint(0100))] >>>y=[(random.randint(0100))表示范围(3000)内的j] >>>coords=zip(x,y) >>>莱恩(库兹) 3000 >>>类型(坐标[0]) >>>coords[0] (54, 0) >>>
您可以将它们与
zip()组合使用。

或者,您可以一起生成数字,从以下内容开始:

[(random.randint(0,100), random.randint(0,100)) for i in xrange(3000)]

您可以将它们与
zip()
组合使用:

或者,您可以一起生成数字,从以下内容开始:

[(random.randint(0,100), random.randint(0,100)) for i in xrange(3000)]

可以将列表作为元组添加到包含坐标的新列表中:

import random
import pylab

XY=[]

x = [(random.randint(0,100)) for i in range(3000)]
y = [(random.randint(0,100)) for j in range(3000)]

for xg, yg in zip(x,y):
    XY.append((xg,yg))

可以将列表作为元组添加到包含坐标的新列表中:

import random
import pylab

XY=[]

x = [(random.randint(0,100)) for i in range(3000)]
y = [(random.randint(0,100)) for j in range(3000)]

for xg, yg in zip(x,y):
    XY.append((xg,yg))

我注意到您正在导入。如果您愿意使用数组作为坐标,只需编写:

import numpy.random
coord = numpy.random.randint(0, 100, (3000, 2))
不需要显式循环或列表理解。这使代码比纯Python版本快约120倍:

In [6]: %timeit coord = numpy.random.randint(0, 100, (3000, 2))
10000 loops, best of 3: 82.7 us per loop

In [7]: %timeit coord = [(random.randint(0,100), random.randint(0,100)) for i in xrange(3000)]
100 loops, best of 3: 10.3 ms per loop

我注意到您正在导入。如果您愿意使用数组作为坐标,只需编写:

import numpy.random
coord = numpy.random.randint(0, 100, (3000, 2))
不需要显式循环或列表理解。这使代码比纯Python版本快约120倍:

In [6]: %timeit coord = numpy.random.randint(0, 100, (3000, 2))
10000 loops, best of 3: 82.7 us per loop

In [7]: %timeit coord = [(random.randint(0,100), random.randint(0,100)) for i in xrange(3000)]
100 loops, best of 3: 10.3 ms per loop
为什么要循环使用
zip()
?在Python2中,这已经是一个列表,您可以在Python3中的
zip()
结果上调用
list()
?在Python2中,这已经是一个列表,您可以在Python3中的
zip()
结果上调用
list()