Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.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 - Fatal编程技术网

在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]


给出当前的结果。

代码只是将最后一个与第一个交换,将第二个与第二个交换,依此类推。 直到循环结束