Python语法编号+数组

时间:2013-12-30 17:27:19

标签: python numpy syntax

我偶尔会遇到这个python结构:number + array 我想知道什么是返回值,是数字还是数组。它做了什么?

示例,我遇到的是:

 def __init__(self, n):      
  self.wins = np.zeros( n )
  self.trials = np.zeros(n )

 def sample( self, n=1 ):   
 for k in range(n):        
    choice = np.argmax( rbeta( 1 + self.wins, 1 + self.trials - self.wins) )        
    choices[ k ] = choice
return 

注意:我对Python几乎一无所知

2 个答案:

答案 0 :(得分:3)

你的问题不是关于语法本身(加法没有特别的语法方面),而是关于numpy数组的加法方法。对于numpy数组对象,实现了标量的添加,以便结果是一个数组,其中所有元素都添加了标量。

In [1]: import numpy as np

In [2]: a = np.arange(0, 5)

In [3]: a
Out[3]: array([0, 1, 2, 3, 4])

In [4]: 1+a
Out[4]: array([1, 2, 3, 4, 5])

建议阅读:

答案 1 :(得分:2)

这不是数字+数组

它是标量+ nparray。

它将标量添加到np数组的每个元素