【问题标题】:How does mentioned output get? please explain the code提到的输出是如何得到的?请解释代码
【发布时间】:2022-01-21 16:50:41
【问题描述】:
arr = [1, 2, 3, 4, 5, 6]
for i in range(1, 6):
    arr[i - 1] = arr[i]
for i in range(0, 6): 
    print(arr[i], end = " ")

答案是:2 3 4 5 6 6

【问题讨论】:

  • 您能澄清一下问题所在吗?您是在问为什么代码 sn-p 会产生该输出?
  • 你能解释一下 --> arr[i - 1] = arr[i] 这行是怎么处理的?还有这个 --> print(arr[i], end = " ")

标签: python python-3.x list for-loop


【解决方案1】:

这是你的代码:

arr = [1, 2, 3, 4, 5, 6]
for i in range(1, 6):
    arr[i - 1] = arr[i]
for i in range(0, 6): 
    print(arr[i], end = " ")

arr 是一个由 6 个整数组成的列表。

在您的第一个 for 循环中,i 将在 1 到 5(含)之间变化。

使用 base-0 访问 Python 列表 - 即,第一个元素在索引 0 处,第二个在 1 处,依此类推。

因此,您的循环将每个元素移动到紧邻它之前的位置(索引)。没有任何内容被移入索引 5

【讨论】:

    【解决方案2】:

    如果您指的是得到以下结果:2 3 4 5 6 1 那么你应该按照以下方式重新排列:

    for i in range(0, 6):
         arr[i-1] = arr[i]
    

    这样,你从 arr[-1] = arr[0] 开始,所以 6 将被 1 替换,所以代码继续

    【讨论】:

      猜你喜欢
      • 2019-08-07
      • 2015-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多