我是python的新手,并试图了解下面的内容。
[i**+1 for i in range(3)]
我知道i += 1
表示i = i + 1
但**+
是什么意思?
我知道**
意味着指数,但上面列表理解的输出令我困惑。
答案 0 :(得分:5)
这种混乱是由于PEP8所暗示的没有周围运营商的空白。
[i**+1 for i in range(3)]
与[i ** +1 for i in range(3)]
相同,与[i ** 1 for i in range(3)]
相同。
[i**+1 for i in range(3)]
的输出为[0, 1, 2]
,这是预期的输出。
**+1
只是** +1
,它是1 st 的正幂。 +
在这里是多余的。
答案 1 :(得分:0)
这类似于: i 的 1 次方,即 +1
[i**+1 for i in range(3)]
注意:+1 不是这里的补充。这是我的力量
即
import numpy as np
def resample_sum(inp, window):
return np.sum(np.reshape(inp, (len(inp)//window, window)), axis=1)
所以答案是:[0, 1, 2]