使用切片步骤在pycharm和python控制台中产生不同的结果

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

1 /这个Python3.5代码

a=[1,2,3,4,5,6,7,8]
a[::-1]
print(a)

python IDE输出(预期结果):

[8, 7, 6, 5, 4, 3, 2, 1]

Pycharm输出(错误的结果):

[1, 2, 3, 4, 5, 6, 7, 8]

我发现取决于控制台获得不同的结果会令人困惑。它为什么不同?

2 /同意这一个:

x = "Hello World !"
x[6:2:-1]
print(x)

python输出:

'W ol'

Pycharm输出:

Hello World !
python python-3.x pycharm
2个回答
0
投票

我同意jasonharper在这里,PyCharm告诉你的是正确的,因为你实际上并没有改变。

您将获得此功能的唯一行为是在交互式python会话中。因此,如果您在控制台中调用python,运行a=[1,2,3,4],输入然后a[::-1],您将在控制台中获得该计算的结果。如果你再次运行a,你会看到一个没有改变毕竟。


0
投票

我们来看你的第二个例子吧

字符串是不可变的。 python控制台只是立即吐出slice命令的结果。 x永远不会改变,所以在这种情况下print(x)在所有python环境中应该是相同的。

但是,PyCharm只输出print命令,因为整个脚本是按行解释的,而不是逐行的。

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