为什么[[i **:n:j]会引发错误而a [i * i:n:j]不会引发错误?

问题描述 投票:0回答:1

为什么python3会为表达式抛出错误:

a[i**:n:j]

并且不用于:

a[i*i:n:j]

对于某些i

示例:

>>> a = [1,2,2]
>>> a[2**:3:1]
  File "<stdin>", line 1
    a[2**:3:1]
         ^
SyntaxError: invalid syntax
>>> a[2*2:3:1]
[]

python-3.x slice
1个回答
0
投票

**是指数运算符,而不仅仅是平方运算符。如果希望它提供i的平方(即与i*i相同),则需要使用i**2

即:

a[i**2:n:j]

而不是

a[i**:n:j]

但是,您似乎在问为什么a[i**2:n:j]会导致some i all i < j

© www.soinside.com 2019 - 2024. All rights reserved.