假设a = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6]
和{a[i]
精确地s[i]
次,然后以b = [0.1, 0.1, 0.1, 0.2, 0.2, 0.2, 0.3, 0.3, 0.3, 0.3, ... ]
的形式创建一个平坦数组。在
我想尽快做这件事,因为我要做很多次。我使用Python和numpy,数组定义为努比·恩达雷. 我四处搜索,找到了repeat
、tile
和{n
次,但我想把它们每一个重复不同的时间。在
一种方法是:
a = hsplit(a, 6)
for i in range(len(a)):
a[i] = repeat(a[i], s[i])
a = a.flatten()
我想知道有没有更好的办法。在
下面是一个仅使用(嵌套)列表理解的单行线:
这正是^{} 的作用:
在纯Python中,您可以执行以下操作:
^{pr2}$当然,它会比它的NumPy等同物慢得多:
相关问题 更多 >
编程相关推荐