在此代码之后xs [100]的值是多少?

时间:2015-04-17 06:37:02

标签: python python-3.x

不确定这是否属于这里,但这是我CS考试的一个问题。

  

此代码后xs[100]的价值是多少?

xs = [-1, 0, 1]
for k in range(98):
 xs.append(xs[k])
     
      
  1. 导致编译时错误。
  2.   
  3. 导致运行时错误。
  4.   
  5. –1
  6.   
  7. 0
  8.   
  9. 1
  10.   

到目前为止,我认为xs.append(xs[k])会依次将-101添加到列表xs中。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

这不是你需要问的问题,你可以用Python运行它,看看:

pax$ cat qq.py
xs = [-1, 0, 1]
for k in range(98):
    xs.append(xs[k])
print xs[100]

pax$ python qq.py
0

如果您无法运行它出于某种原因,您只需要意识到您要按顺序追加这些元素98次。那是-1, 0, 1 32次(总共96次),然后-10作为最后两次。

而且,由于你有3 + 98 = 101个元素,索引100(第101个)是最后一个元素,即0

答案 1 :(得分:0)

在此循环之后,您将有一个包含98+3=101元素的列表,其中100的元素将是0,因为101%3= 2。然后您必须从{{中选择第二个元素1}}

注意列表的-1,0,1方法将就地更改列表,因此在每次迭代后,您将迭代新列表,因此它不会引发append