【发布时间】:2020-03-11 02:39:04
【问题描述】:
我创建了一个函数 f,它使用一个二维列表作为参数,但是在这个函数之后,列表根本没有改变。 如下代码:
def f(t: [[int]]):
for eachrow in t:
eachrow = eachrow[1:]
eachrow.append(0)
A = [[2, 10, 0], [3, 1, 2], [3, 2, 1]]
f(A)
print(A) # -> [[2, 10, 0], [3, 1, 2], [3, 2, 1]]
【问题讨论】:
-
你只是更新循环变量,而不是输入参数
-
@cricket_007
eachrow最初是t中的一个项目,但切片会覆盖它。我发布了一个关于这个的答案。 -
顺便说一句,欢迎来到 Stack Overflow ClassicalPi!查看tour。
-
注意,这不是正确的类型注释:
t: [[int]]应该是t: typing.List[typing.List[int]]
标签: python python-3.x list variable-assignment