Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么哥伦布是Python的第一人?_Python_List - Fatal编程技术网

为什么哥伦布是Python的第一人?

为什么哥伦布是Python的第一人?,python,list,Python,List,当我在中执行以下代码时:- 它打印:- Columbus Alex Mariah Martine Columbus 现在,我想问一下为什么“哥伦布”排在首位。我知道我在列表和“for循环”中使用了一个空变量“Adam”。这应该是一个“语法错误”,因为在列表和“for循环”中使用了相同的变量,那么为什么该列表的最后一个元素会首先打印出来,以及最后打印出来。要回答问题1“Columbus”为什么会先打印出来 我真的不知道您是怎么做到的,我的尝试表明它是按照列表初始化的顺序打印的,请参阅,了

当我在中执行以下代码时:-

它打印:-

Columbus

Alex

Mariah

Martine

Columbus

现在,我想问一下为什么“哥伦布”排在首位。我知道我在列表和“for循环”中使用了一个空变量“Adam”。这应该是一个“语法错误”,因为在列表和“for循环”中使用了相同的变量,那么为什么该列表的最后一个元素会首先打印出来,以及最后打印出来。

要回答问题1“Columbus”为什么会先打印出来

我真的不知道您是怎么做到的,我的尝试表明它是按照列表初始化的顺序打印的,请参阅,了解如何在python中操作打印:

关于空变量的第二个问题的答案,我得到了一个正常的语法错误,请参见python中变量的工作原理:

要复制OP的错误,
Adam=“Columbus”
只有在OP重新初始化for循环后的names`列表时才会为
True:请参见

当然,在for循环中使用本地
Adam
与使用
i
没有什么不同。在for循环之后,
i
将获取列表中最后一项的值

>>> alist = [1,2,3,4]
>>> for i in alist:
...     print i
... 
1
2
3
4
>>> i
4
但是当下一个for循环开始时,
i
将在循环开始时自动设置为列表中的第一项。但是,如果在第一次运行for循环后重新初始化列表,则列表中的第一项将采用最后一项的值:

>>> i = None
>>> alist = [i,2,3,4]
>>> for i in alist:
...     print i
... 
None
2
3
4
>>> i
4
>>> alist = [i,2,3,4]
>>> alist
[4, 2, 3, 4]

要回答问题1“哥伦布”为什么先印刷

我真的不知道您是怎么做到的,我的尝试表明它是按照列表初始化的顺序打印的,请参阅,了解如何在python中操作打印:

关于空变量的第二个问题的答案,我得到了一个正常的语法错误,请参见python中变量的工作原理:

要复制OP的错误,
Adam=“Columbus”
只有在OP重新初始化for循环后的
names`列表时才会为
True:请参见

当然,在for循环中使用本地
Adam
与使用
i
没有什么不同。在for循环之后,
i
将获取列表中最后一项的值

>>> alist = [1,2,3,4]
>>> for i in alist:
...     print i
... 
1
2
3
4
>>> i
4
但是当下一个for循环开始时,
i
将在循环开始时自动设置为列表中的第一项。但是,如果在第一次运行for循环后重新初始化列表,则列表中的第一项将采用最后一项的值:

>>> i = None
>>> alist = [i,2,3,4]
>>> for i in alist:
...     print i
... 
None
2
3
4
>>> i
4
>>> alist = [i,2,3,4]
>>> alist
[4, 2, 3, 4]

可能您多次运行相同的代码

>>> Adam = '' # <--- except this line.
>>> names = [Adam,"Alex","Mariah","Martine","Columbus"]
>>> for Adam in names:
...     print Adam
...

Alex
Mariah
Martine
Columbus
运行相同的代码会产生您看到的结果:

>>> names = [Adam,"Alex","Mariah","Martine","Columbus"]
>>> for Adam in names:
...     print Adam
...
Columbus
Alex
Mariah
Martine
Columbus
对目标变量使用相同的变量不会导致语法错误。变量刚刚被覆盖


可能您多次运行同一代码

>>> Adam = '' # <--- except this line.
>>> names = [Adam,"Alex","Mariah","Martine","Columbus"]
>>> for Adam in names:
...     print Adam
...

Alex
Mariah
Martine
Columbus
运行相同的代码会产生您看到的结果:

>>> names = [Adam,"Alex","Mariah","Martine","Columbus"]
>>> for Adam in names:
...     print Adam
...
Columbus
Alex
Mariah
Martine
Columbus
对目标变量使用相同的变量不会导致语法错误。变量刚刚被覆盖



可能是您在早期的某个阶段将值
“Columbus”
分配给变量
Adam
。我认为这是因为
Adam
变量指向字符串“Columbus”@GrijeshChauhan你的意思是因为Codecademy labs的错误吗?@BrenBarn我认为你应该发表你的评论作为答案,因为这是唯一合理的解释。@deveshssaini我的意思是
print Adam
将打印
名称
列表中的第一个字符串,并在
名称
列表中以非常量字符串文字打印第一个字符串但是一个引用变量
Adam
,第一次打印的字符串将指向我的
名称[0]
,假设您在早期阶段将值
分配给变量
Adam
。我想是因为
Adam
变量指向字符串“Columbus”@GrijeshChauhan你的意思是因为Codecademy labs的错误吗?@BrenBarn我认为你应该发表你的评论作为答案,因为这是唯一合理的解释。@deveshssaini我的意思是
print Adam
将打印
名称
列表中的第一个字符串,并在
名称
列表中以非常量字符串文字打印第一个字符串但是一个引用变量
Adam
,第一次打印的字符串指向我的
名称[0]
,似乎codeacademy实验室中的python解释器没有同样的效果。我想唯一的
Adam=Colubus
是再次初始化列表。@alvas,我可以复制。请看我刚才添加到答案中的屏幕截图。@falsetru,是的,
名称列表必须重新初始化才能出现“bug=)@alvas,我从一开始就这么说。这不是虫子。看见引用:循环完成时目标列表没有被删除,…似乎codeacademy实验室中的python解释器没有产生相同的效果。我认为唯一的问题是列表被重新初始化。@alvas,我可以复制。请看我刚才添加到答案中的屏幕截图。@falsetru,是的,
名称列表必须重新初始化才能出现“bug=)@alvas,我从一开始就这么说。这不是虫子。看见QUOTE:循环完成后,目标列表不会被删除。。。