使用不同的计算值填充numpy数组

时间:2015-10-20 20:22:22

标签: python python-2.7 numpy

我初始化了一个空的numpy数组,我想用一些计算值填充它。我的代码如下:

Distance=np.empty(6,dtype=np.uint8)
for i in range(0,6):
    x=hamming_distance(tst,LUT[i])
    print 'x={}' .format(x)
    print 'type_x={}' .format(type(x))
    #Distance.fill(x)
    np.append(Distance,x)
    print 'Distance={}' .format(Distance)

我得到的输出是

x=1
type_x=<type 'numpy.uint8'>
Distance=[3 3 3 3 3 3]
----------
x=3
type_x=<type 'numpy.uint8'>
Distance=[3 3 3 3 3 3]
----------
x=1
type_x=<type 'numpy.uint8'>
Distance=[3 3 3 3 3 3]
----------
x=1
type_x=<type 'numpy.uint8'>
Distance=[3 3 3 3 3 3]
----------
x=1
type_x=<type 'numpy.uint8'>
Distance=[3 3 3 3 3 3]
----------
x=3
type_x=<type 'numpy.uint8'>
Distance=[3 3 3 3 3 3]
----------

我希望Distance[1 3 1 1 1 3]。我使用了np.fill,但这不会起作用,因为每次使用x填充数组时,输出将为[3 3 3 3 3 3]

注意: tstLUT[i]是uint8 numpy数组。

任何人都可以帮我这个吗? 感谢

1 个答案:

答案 0 :(得分:0)

我宁愿执行列表理解: [hamming_distance(tst,LUT[x]) for x in range(0, 6)]
np.array([hamming_distance(tst,LUT[x]) for x in range(0, 6)]).astype('uint8')