我想获取长度范围如下的numpy数组:
>>> source = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
>>> get_array_of_arrays_with_min_length(source, 5)
array([[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
[2, 3, 4, 5, 6, 7, 8, 9, 10],
[3, 4, 5, 6, 7, 8, 9, 10],
[4, 5, 6, 7, 8, 9, 10],
[5, 6, 7, 8, 9, 10],
[6, 7, 8, 9, 10]])
如何用更少的代码做到这一点?
答案 0 :(得分:0)
生成您的列表,
l = [ [i+1 for i in range(x+1, 10)] for x in range(6)]
然后创建您的数组。
a = numpy.array(l)
如果我不得不猜测你的函数应该做什么,
def get_array_of_arrays(source, m):
return [ [ i for i in source if i>x] for x in range(m+1)]
这将为您提供所需的输入结果。实际上,这里的想法是列出列表。