在这样的数组中生成几千个随机位置的数组,例如python中的(3,75)和(56,34)
到目前为止,我创建了两个数据点列表,分别标记为x和y。我不知道如何将它们组合成一个数组,这样它们就是坐标在这样的数组中生成几千个随机位置的数组,例如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
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()
。