如何创建函数来重复列表中的向量 n 次?
how to create function to repeat a vector in a list n times?
我有以下向量:
v:(1,-1)
我想创建一个函数,在列表中重复此向量 n 次示例:
f[v,3] results in ((1 -1);(1 -1);(1 -1))
谁能帮我定义这个函数?
您可以为此使用 # take 函数,例如
q)f:{y#enlist x}
q)f[v;3]
1 -1
1 -1
1 -1
也可以在不征集向量的情况下完成,例如
q)3 2#v
1 -1
1 -1
1 -1
或者更一般地说:
q)f:{(y;count x)#x}
q)f[v;3]
1 -1
1 -1
1 -1
如果您不想创建新函数,可以这样做:
q)#[3;enlist v]
1 -1
1 -1
1 -1
我有以下向量:
v:(1,-1)
我想创建一个函数,在列表中重复此向量 n 次示例:
f[v,3] results in ((1 -1);(1 -1);(1 -1))
谁能帮我定义这个函数?
您可以为此使用 # take 函数,例如
q)f:{y#enlist x}
q)f[v;3]
1 -1
1 -1
1 -1
也可以在不征集向量的情况下完成,例如
q)3 2#v
1 -1
1 -1
1 -1
或者更一般地说:
q)f:{(y;count x)#x}
q)f[v;3]
1 -1
1 -1
1 -1
如果您不想创建新函数,可以这样做:
q)#[3;enlist v]
1 -1
1 -1
1 -1