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

时间:2016-11-29 20:40:28

标签: python python-3.x pycharm

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 !

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

我们来看你的第二个例子

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

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