2024-04-19 08:35:20 发布
网友
如何在Python中在数组中原地重复元素?你知道吗
或者类似地,比这更简单的事情:
drange = []; for i in xrange(j): drange.append(i); drange.append(i);
它应该产生:[0,0,1,1,2,2。。。[j-1,j-1]
使用列表理解,然后展平列表:
>>> sum([ [i]*2 for i in xrange(5)],[]) [0, 0, 1, 1, 2, 2, 3, 3, 4, 4]
>>> j = 3 >>> drange = [] >>> for i in xrange(j): ... drange.extend([i]*2) ... >>> drange [0, 0, 1, 1, 2, 2]
或者作为一个列表
>>> drange = [i for i in xrange(j) for k in range(2)] >>> drange [0, 0, 1, 1, 2, 2]
在某些情况下,这种方法也是合适的
>>> drange = [i//2 for i in xrange(j*2)] >>> drange [0, 0, 1, 1, 2, 2]
使用numpy的答案
>>> import numpy as np >>> j = 3 >>> np.repeat(np.array(xrange(j)), 2) array([0, 0, 1, 1, 2, 2])
使用列表理解,然后展平列表:
或者作为一个列表
在某些情况下,这种方法也是合适的
使用numpy的答案
相关问题 更多 >
编程相关推荐