python遍历循环赋值给不同变量_for循环中的Python变量赋值

这里最重要的是变量名。它们真的只是字典的钥匙。它们在运行时解析,具体取决于当前作用域。

让我们看看您在代码中访问的名称。locals函数帮助我们:它显示本地作用域中的名称(及其值)。这是您的代码,带有一些调试输出:a = [1, 2, 3] # a is bound

print(locals())

for x in a: # a is read, and for each iteration x is bound

x = x + 3 # x is read, the value increased and then bound to x again

print(locals())

print(locals())

print(x)

(注意,我将x += 3扩展到x = x + 3,以增加名称访问(读和写)的可见性。)

首先,将列表[1, 2, 3]绑定到名称a。然后,遍历列表。在每次迭代期间,该值都绑定到当前作用域中的名称x。然后,赋值将另一个值赋给x。

这是输出{'a': [1, 2, 3]}

{'a': [1, 2, 3], 'x': 4}

{'a': [1, 2, 3], 'x': 5}

{'a': [1, 2, 3], 'x': 6}

{'a': [1, 2, 3], 'x': 6}

6

在任何时候,您都不能访问列表a,因此永远不会修改它。

为了解决您的问题,我将使用枚举函数获取索引和值,然后使用名称a

你可能感兴趣的:(python遍历循环赋值给不同变量_for循环中的Python变量赋值)