在python中使用循环访问列表中的索引
我正在想办法解决这个问题。我知道答案,但我不明白为什么它是正确的在python中使用循环访问列表中的索引,python,Python,我正在想办法解决这个问题。我知道答案,但我不明白为什么它是正确的 primes = [2, 3, 5, 7, 11] 执行以下循环后,它包含什么 for i in range(2): primes[4 - i] = primes[i] 回答:2,3,5,3,2 我被困在素数[4-I]…部分。有人能解释一下这部分吗?我知道它是索引位置。这段代码从反转数组开始,但它覆盖了数组的结尾,所以总体上它只输出一个回文。数组是用索引构建的: 0,1,2,...,n 您可以通过选择其位置来输入每
primes = [2, 3, 5, 7, 11]
执行以下循环后,它包含什么
for i in range(2):
primes[4 - i] = primes[i]
回答:2,3,5,3,2
我被困在
素数[4-I]…
部分。有人能解释一下这部分吗?我知道它是索引位置。这段代码从反转数组开始,但它覆盖了数组的结尾,所以总体上它只输出一个回文。数组是用索引构建的:
0,1,2,...,n
您可以通过选择其位置来输入每个索引,例如,array[2]
获取数组的第三个值
您的代码,如@script8man解释的,选择第4个索引。在范围(2)
(0,1)中,它将返回第4和第3个索引,该索引将被第i个索引(0,1)覆盖。范围(n)
提供从0到n-1的数字序列
如果将范围
函数替换为其在代码中的顺序,则基本上可以得到以下结果:
for i in [0, 1]:
primes[4 - i] = primes[i]
每次循环时,i
将从0开始,并变得越来越大。
这反过来意味着4-i
将从4开始并变小
第一个循环:4-i=4-0=4
第二个循环:4-i=4-1=3
(如果范围内的值大于2,则以此类推)
行primes[4-i]=primes[i]
表示您正在为索引4-i
分配存储在索引i
中的值
在您的示例中,您的循环实际上是这样做的:
第一个循环:素数[4]=素数[0]
第二个循环:素数[3]=素数[1]
给出当前的结果。代码只是将最后一个与第一个交换,将第二个与第二个交换,依此类推。 直到循环结束