numpy 在Python中使用s分量定义单位向量

ca1c2owp  于 2023-02-16  发布在  Python
关注(0)|答案(1)|浏览(130)

我想在Python中定义一个列向量v =(0,0,...,0,1),这个向量应该有s个分量(对于任意的s),所以前s-1个分量应该是0,最后一个分量应该是1,我该怎么做呢?因为s是任意的,提前感谢大家的帮助!
正如我所说,我想使用np.array,但s是任意的。所以我不知道如何使用np.array(因为组件的数量还不清楚)

nwlqm0z1

nwlqm0z11#

numpy.repeat是一个选项:

s = 10

v = np.repeat([0, 1], [s-1, 1])

输出:array([0, 0, 0, 0, 0, 0, 0, 0, 0, 1])
可以泛化为任意数量的值:

# one "1", zero "2", three "3", two "4"
np.repeat([1, 2, 3, 4], [1, 0, 3, 2])
# array([1, 3, 3, 3, 4, 4])

相关问题