嗨,我确定有一个更有效的编码方式,我主要是一个java程序员,但试图帮助一些基本的python。
我需要一个包含一组随机坐标的二维数组,例如(2,10)。 我最初的想法是创建数组,然后填充包含两个坐标的较小数组。
import numpy
import random
a = numpy.zeros(10000).reshape(100, 100)
temp = []
for i in range(0,100):
for j in range(0,100):
temp.append(random.randint(0,100))
temp.append(random.randint(0,100))
a[i][j]=temp
print a
这会产生错误ValueError:设置一个带序列的数组元素。
那么解决这个问题的最佳方法是什么?对不起这个被黑客攻击的代码,我以前从来没有真正使用过python!
答案 0 :(得分:2)
这是一个三个昏暗的数组,您可以通过以下方式创建它:
np.random.randint(0, 100, (100, 100, 2))
答案 1 :(得分:0)
import numpy
import random
a = numpy.zeros((100, 100, 2))
for i in range(0,100):
for j in range(0,100):
a[i,j,:] = (random.randint(0,100),
random.randint(0,100))
print 'x-coords:\n', a[:,:,0]
print 'y-coords:\n', a[:,:,1]
答案 2 :(得分:0)
如果我理解你要做什么,@ HYRY会给出正确的答案。你得到一个Value错误的原因是因为你将一个序列或python列表(tmp)分配给一个浮点数(a [i] [j])。 @HalCanary向您展示如何修复代码以解决此错误,但HYRY的代码应该是python计算的最佳代码。