某些 variables/equations 对列表有何影响?
How do certain variables/equations affect lists?
def list(a, b):
for k in range(len(a)):
a[k] = a[k] + b[len(b)-1-k]
return a
在处理列表时,python 如何逐行执行这样的函数。具体来说,当我在此代码中看到 len()
或 [k]
时,它如何影响用户呈现的列表?一个例子可能是
当 a = [1,3,5,7,9]
、b = [1,4,9,8,6]
返回的 (a
) 值为 [7, 11, 14, 11, 10]
我不确定这个过程是如何在 Python.
中完成的
I am mostly confused by the introduction of [k]
in the equation as I don't know how it changes the list.
someList[k]
是列表第 k
项的 item accessor。因此对于列表 a = [2, 3, 5, 7]
,a[k]
将 return 第 k 个数字。例如:
>>> a = [2, 3, 5, 7]
>>> a[0]
2
>>> a[1]
3
>>> k = 3
>>> a[k]
7
单独使用访问器只会读取值而不会影响列表。 Python 但是也允许您为其分配一个值。这样做将更改该索引处的列表项:
>>> a = [2, 3, 5, 7]
>>> a[2]
5
>>> a[2] = 13 # we change the value
>>> a[2]
13
>>> a # the original list was modified
[2, 3, 13, 7]
所以在你的循环中,当你有 a[k] = a[k] + something
时,你在第 k 个索引处获取值,向其添加 something
,然后更新同一索引处的原始列表。由于函数参数是通过引用传递的,这会更新您的原始列表(您稍后 return 来自您的函数的相同列表对象)。
至于“某事”部分,你是这样做的:b[len(b)-1-k]
。同样,您正在使用索引访问列表 b
中的单个项目。但这一次,索引不是常量或单个变量,而是一个更复杂的表达式:len(b) - 1 - k
。 len(b)
将 return 列表的长度 b
,因此最终,当您从头遍历 a
列表时,您是从 b
结束(假设两个列表的长度相同)。 Python 将首先执行表达式,因此最后它将在该表达式产生的索引处访问 b 的项目。
def list(a, b):
for k in range(len(a)):
a[k] = a[k] + b[len(b)-1-k]
return a
在处理列表时,python 如何逐行执行这样的函数。具体来说,当我在此代码中看到 len()
或 [k]
时,它如何影响用户呈现的列表?一个例子可能是
当 a = [1,3,5,7,9]
、b = [1,4,9,8,6]
返回的 (a
) 值为 [7, 11, 14, 11, 10]
我不确定这个过程是如何在 Python.
I am mostly confused by the introduction of
[k]
in the equation as I don't know how it changes the list.
someList[k]
是列表第 k
项的 item accessor。因此对于列表 a = [2, 3, 5, 7]
,a[k]
将 return 第 k 个数字。例如:
>>> a = [2, 3, 5, 7]
>>> a[0]
2
>>> a[1]
3
>>> k = 3
>>> a[k]
7
单独使用访问器只会读取值而不会影响列表。 Python 但是也允许您为其分配一个值。这样做将更改该索引处的列表项:
>>> a = [2, 3, 5, 7]
>>> a[2]
5
>>> a[2] = 13 # we change the value
>>> a[2]
13
>>> a # the original list was modified
[2, 3, 13, 7]
所以在你的循环中,当你有 a[k] = a[k] + something
时,你在第 k 个索引处获取值,向其添加 something
,然后更新同一索引处的原始列表。由于函数参数是通过引用传递的,这会更新您的原始列表(您稍后 return 来自您的函数的相同列表对象)。
至于“某事”部分,你是这样做的:b[len(b)-1-k]
。同样,您正在使用索引访问列表 b
中的单个项目。但这一次,索引不是常量或单个变量,而是一个更复杂的表达式:len(b) - 1 - k
。 len(b)
将 return 列表的长度 b
,因此最终,当您从头遍历 a
列表时,您是从 b
结束(假设两个列表的长度相同)。 Python 将首先执行表达式,因此最后它将在该表达式产生的索引处访问 b 的项目。