2016-04-27 132 views
0

的多个唯一副本我有一个numpy的阵列分配给a创建一个数组

我想这个

b = a.copy() 
c = a.copy() 
d = a.copy() 

在一行。这可能不需要写3次“a.copy”?

谢谢!

+0

你熟悉的循环? – TigerhawkT3

+1

@ TigerhawkT3我没有看到这是如何在基本循环中可能的,除了使用一个词典。我的意思是:我认为不可能在循环的每次迭代中创建变量。介绍一个例子? – lcq92

+0

你不认为有可能在循环中创建变量?我建议在循环中查看一些课程材料或教程。 – TigerhawkT3

回答

0

当然,这是可能的,但我认为使用a.copy()这三个单独的赋值语句是最明确的做法。我可以阅读该代码并确切知道发生了什么。用下面的,我得花几秒钟搞清楚到底是怎么回事......

  • 使用列表理解(@Pythonista也有过这样的删除答案):

    b, c, d = [a.copy() for _ in range(3)] 
    
  • 使用numpy.repeat

    b, c, d = np.repeat(a[None, ...], 3, axis=0)